このように Button を使用して初期化する理由。
b1=(ボタン) findViewById(R.id.bEdit1);
また、findViewById の前に (Button) を使用する理由。
ありがとう
これは、findViewById
が a を返すと宣言されているためですView
。Button
戻り値をダウンキャストして変数に割り当てる必要があります。(あなたが投稿したコードから、 であるb1
と宣言されていると推測していますButton
。)
がビュー階層の にbEdit1
対応しない場合、 が生成されることに注意してください。これは、開発中に把握できるものです。Button
ClassCastException
ビューには整数 ID が関連付けられている場合があります。これらの ID は通常、レイアウト XML ファイルで割り当てられ、ビュー ツリー内の特定のビューを検索するために使用されます。一般的なパターンは次のとおりです。
Define a Button in the layout file and assign it a unique ID.
<Button
android:id="@+id/bEdit1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/my_button_text"/>
アクティビティの onCreate メソッドから、ボタンを見つけます
Button myButton = (Button) findViewById(R.id.bEdit1);
ビュー ID はツリー全体で一意である必要はありませんが、検索するツリーの部分内で少なくとも一意であることを確認することをお勧めします。
一緒に作業している間、Java
私たちはこのようなことをします
JButton mbutt = new JButton("Click_Me");
上記のコードではCreating
、typeのObject Reference VariableAssigning
に対するTypeJButton
のObjectです。JButton
私たちが一緒に仕事をしている間、Android
私たちはこのようなことをします
Button b1 = (Button) findViewById(R.id.bEdit1);
ここでは、を使用して を既に作成しており、上記のステートメントを使用してそれを参照しています。Button
XML
Button object
(Button)
型から型への明示的なキャストです。findViewById から得られるのはビューです。次に、それがどのようなビューであるかを具体的に言及する必要があります。ここではそのボタンです。View
Button
(R.id.bEdit1)
ファイルで宣言されている整数であるR.java
ため、参照を取得するにはボタンにキャストする必要があります。
R.java
ファイルには、アプリケーションのすべての変数宣言が含まれています。
findViewByIdの署名は次のようになります
public final View findViewById (int id)
これは、指定された ID を持つ子ビューを探します。このビューに指定された ID がある場合、このビューを返します。
final Button b1;
findViewById(R.id.bEdit1); これで、ID に基づいてビューが検索され、ビューがbEdit1
返されます。ここでの仕事は、それを適切なビューにカスタマイズすることです。それが私たちのやり方です
b1 = (Button)findViewById(R.id.bEdit1);