0

このように Button を使用して初期化する理由。

b1=(ボタン) findViewById(R.id.bEdit1);

また、findViewById の前に (Button) を使用する理由。

ありがとう

4

5 に答える 5

2

これは、findViewByIdが a を返すと宣言されているためですViewButton戻り値をダウンキャストして変数に割り当てる必要があります。(あなたが投稿したコードから、 であるb1と宣言されていると推測していますButton。)

がビュー階層の にbEdit1対応しない場合、 が生成されることに注意してください。これは、開発中に把握できるものです。ButtonClassCastException

于 2012-10-17T04:31:39.350 に答える
1

ビューには整数 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 はツリー全体で一意である必要はありませんが、検索するツリーの部分内で少なくとも一意であることを確認することをお勧めします。

于 2012-10-17T04:34:46.657 に答える
0

一緒に作業している間、Java私たちはこのようなことをします

JButton mbutt = new JButton("Click_Me");

上記のコードではCreating、typeのObject Reference VariableAssigningに対するTypeJButtonのObjectです。JButton

私たちが一緒に仕事をしている間、Android私たちはこのようなことをします

Button b1 = (Button) findViewById(R.id.bEdit1);

ここでは、を使用して を既に作成しており、上記のステートメントを使用してそれを参照しています。ButtonXML Button object

(Button)型から型への明示的なキャストです。findViewById から得られるのはビューです。次に、それがどのようなビューであるかを具体的に言及する必要があります。ここではそのボタンです。ViewButton

于 2012-10-17T04:42:05.080 に答える
0

(R.id.bEdit1)ファイルで宣言されている整数であるR.javaため、参照を取得するにはボタンにキャストする必要があります。

R.javaファイルには、アプリケーションのすべての変数宣言が含まれています。

于 2012-10-17T04:31:55.273 に答える
0

findViewByIdの署名は次のようになります

public final View findViewById (int id)

これは、指定された ID を持つ子ビューを探します。このビューに指定された ID がある場合、このビューを返します。

final Button b1;

findViewById(R.id.bEdit1); これで、ID に基づいてビューが検索され、ビューがbEdit1返されます。ここでの仕事は、それを適切なビューにカスタマイズすることです。それが私たちのやり方です

b1 = (Button)findViewById(R.id.bEdit1);

于 2012-10-17T04:47:02.747 に答える