有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何在Android应用程序的新窗口中显示字符串?

基本上,我想按下一个按钮,在一个新的空白窗口中显示一个预定义的字符串变量。我试过几种方法,但都不管用。这是我的第一个应用程序,所以我对如何使用类没有太多的知识。这是我现在为Onclick操作编写的代码

public void receivedata(View data) {
    Intent intent= new Intent(this, ReceivedataActivity.class);
    intent.putExtra("My Message", false);
    startActivity(intent);
}

这是我在课堂上的代码

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.receivedata);
    Intent intent = getIntent();
    String message = intent.getStringExtra("My Message");

    TextView comm = (TextView) findViewById(R.id.textView1);
    comm.setTextSize(40);
    comm.setText(message);

    setContentView(comm);

    if (savedInstanceState == null) {
        getSupportFragmentManager().beginTransaction()
                .add(R.id.container, new PlaceholderFragment()).commit();
    }
}

每当我按下按钮,应用程序就会崩溃。。。有什么办法吗

这就是LogCat所说的:这就是te LogCat所说的E/AndroidRuntime(11090):java。lang.RuntimeException:无法启动活动组件信息{com.example.mcudisplay/com.example.mcudisplay.ReceivedataActivity}‌​: JAVAIllegalStateException:您需要使用一个主题。此活动的AppCompat主题(或子代)


共 (2) 个答案

  1. # 1 楼答案

    尝试在不使用以下命令的情况下运行应用程序:

    setContentView(comm);
    

    您已经将内容视图设置为receivedata。xml文件

  2. # 2 楼答案

    您两次调用setContentView,这表明其中一个调用是错误的,没有必要的。或者R.layout.receivedata包含您正在使用findViewById()检索的文本视图,并且您不想再次调用;或者你的意思是只使用TextView调用setContentView,在这种情况下,你应该使用LayoutFlater单独充气,或者使用new创建它