0

私は短いアプリを作成しているアマチュア開発者ですが、特定のアクティビティのXMLファイルとActivityのJavaメソッド「setContentView」の両方を使用するのに問題があります。計算から数値を生成していて、生成される数値はさまざまなパラメーターに応じて変化するため、このメソッドが必要です。したがって、計算を呼び出すたびに、次のように呼び出す必要があります。

textView.setText(message + " is " + output);
setContentView(textView);

ただし、アクティビティのXMLページにいくつかのボタンを作成し、アクティビティのページにも表示したいと思います。たとえば、これは私が作成したボタンの1つです。

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

しかし、私が電話した場合:

setContentView(R.layout.activity_compute_number);

前述の可変テキストメッセージのコンテンツ設定ビューの後、XMLファイルがテキストメッセージを上書きし、2つのsetContentViewメソッドを逆に呼び出すと、テキストメッセージが表示されなくなります。その逆も同様です。両方をアクティビティ画面に同時にレンダリングするにはどうすればよいですか?

4

2 に答える 2

1

activity_compute_number.xmlで、ボタンとテキストビューにIDを割り当てる必要があります。このようにして、ボタンとtextViewを参照できます。

 <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" />

android:id = " @ + id / button_compute"とandroid:id = "@ + id/textView_answer"に注意してください。これにより、このボタンとtextviewIDはそれぞれbutton_computeとtextView_answerと呼ばれます。

次に、onCreateを次のように変更します。

@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);
        }
    });
}

onCreate()メソッドでは、 setContentView()を1回だけ呼び出すことにより、 activity_compute_number.xmlにレイアウトを表示するようにビューを設定します。xmlで設定したIDを指定するfindViewByIdによって、ボタンとテキストビューを参照します。

于 2012-08-31T04:13:44.530 に答える
0

メソッドsetContentView()のドキュメントをお読みください。メソッドでは、1回だけ使用でき
ます。したがって、 XMLファイルにを追加するか、アクティビティでこれを使用できます。 onCreate()setContentView()TestView
TextView txt = new TextView(this)

于 2012-08-31T04:25:08.643 に答える