メインアクティビティのonCreateファイルで最初に作成されたtextViewがあります。このメインアクティビティ(XMLなし)で定義されたビューのテキストを設定する方法
Button btn = new Button();
そして、私は私の質問は、私はのテキストを変更するには、同じファイル内でこのIDにアクセスすることができる方法であるイドのようなそれのいくつかの属性といくつかのLayoutParams
btn.setText("Button");
btw.setId("btn");
btn.setLayoutParams(new ViewGroup.LayoutParams(
ViewGroup.LayoutParams.WRAP_CONTENT,
ViewGroup.LayoutParams.WRAP_CONTENT));
を設定するなどのボタン。いいえ
findViewById(R.id.btn);
私がこれを行うときを除いて、私はエラーが発生します。これはXML内で定義されていないので、私は推測しています。
編集:これらのボタンは、プログラムの他の要素に基づいて生成されるため、xmlであらかじめ定義することはできません。
ありがとうございます。
なぜIDが必要ですか?あなたの 'Button'を' MainActivity'の中のグローバル変数として定義し、そのファイル内のどこにでも使用してください。 –
@ Yildirimはい、私はIDを必要とするので、入力に基づいてボタンを更新することができます。 –
'findViewById'は、一般に、アクティビティの対応するXMLファイルで定義したUI要素を拡張するために使用され、Javaコードで作成するUI要素に対しては使用されません。 –