インテントを使用して別のアクティビティを開始し、新しく作成されたアクティビティに余分なデータをインテントに持たせています。私はそれを行うためのチュートリアルに従っています。
このデータは、実際には階層内の最初のアクティビティのテキスト フィールドから読み取られ、エクストラとして他のアクティビティに渡されます。だから私のコードは次のようになります:
//Make the intent
Intent intent = new Intent(this, SecondActivity.class);
/* Find the text field (view) which contains the data, and save it into a newly created text field (view of the same type)*/
EditText editText = (EditText) findViewById(R.id.iden1); //******************************
//Read that view's string data into a string called message
String message= editmessage.getText().toString();
//copy this message into the extra named extra_name, of intent.
intent.putExtra(extra_name, message);
私の質問はこの声明からです:
EditText editText = (EditText) findViewById(R.id.iden1);
私の質問は、明示的なキャスト (EditText) です。findViewById() によって返された EditText ビュー (layout.xml で定義され、android:id="@+id/iden1" によって識別された) を再び EditText ビューにキャストするのはなぜですか。ここでのビュー editText と、layout.xml で作成したビューの型は同じです。では、この型キャストのポイントは何ですか?