Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/352.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将XML与活动一起使用';s setContentView()_Java_Android_Numbers - Fatal编程技术网

Java 将XML与活动一起使用';s setContentView()

Java 将XML与活动一起使用';s setContentView(),java,android,numbers,Java,Android,Numbers,我是一名业余开发人员,创建了一个短应用程序,但在使用特定活动的XML文件和活动的Java方法“setContentView”时遇到了问题。我需要这个方法,因为我是通过计算生成数字的,生成的数字是可变的,取决于不同的参数。因此,每次调用计算时,我必须调用: textView.setText(message + " is " + output); setContentView(textView); 但是我也在活动的XML页面上创建了几个按钮,我也想在活动的页面上显示这些按钮。例如,这是我创建的按钮

我是一名业余开发人员,创建了一个短应用程序,但在使用特定活动的XML文件和活动的Java方法“setContentView”时遇到了问题。我需要这个方法,因为我是通过计算生成数字的,生成的数字是可变的,取决于不同的参数。因此,每次调用计算时,我必须调用:

textView.setText(message + " is " + output);
setContentView(textView);
但是我也在活动的XML页面上创建了几个按钮,我也想在活动的页面上显示这些按钮。例如,这是我创建的按钮之一:

<Button 
    android:layout_marginTop="100dp"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/button_quit"
    android:onClick=".quit" />

在我前面提到的为变量文本消息设置内容视图之后,XML文件将覆盖文本消息,如果我以相反的方式调用两个setContentView方法,文本消息将永远不会显示,反之亦然。如何让它们同时在活动屏幕上呈现?

活动\u compute\u number.xml中,您应该为按钮和文本视图分配一个id。通过这种方式,您可以引用按钮和文本视图

 <Button
    android:id="@+id/button_compute"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginTop="100dp"
    android:onClick=".quit"
    android:text="@string/button_quit" />

<TextView
    android:id="@+id/textView_answer"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginTop="100dp" />

onCreate()方法中,通过只调用一次setContentView(),设置视图以显示活动\u compute\u number.xml中的布局。您可以通过指定您在xml中设置的id来引用按钮和文本视图。

请阅读该方法的文档
onCreate()
方法中,您只能使用
setContentView()
一次。因此,您应该在XML文件中添加一个
TestView
,或者可以在活动中使用这个
TextView txt=new TextView(this)

在onCreate()方法中应该只调用setContentView()一次,我不太清楚您要实现什么。
 <Button
    android:id="@+id/button_compute"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginTop="100dp"
    android:onClick=".quit"
    android:text="@string/button_quit" />

<TextView
    android:id="@+id/textView_answer"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginTop="100dp" />
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    Button btnCompute = (Button)findViewById(R.id.button_compute);
    TextView tvAnswer = (TextView)findViewById(R.id.textView_answer);


    btnCompute.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {

            /*
             * DO COMPUTATION here
            */

            tvAnswer.setText(answer);
        }
    });
}