(EditText)次のスニペットの はどういう意味ですか?
EditText editText = (EditText) findViewById(R.id.edit_message);
クラス EditText の新しいインスタンスの宣言であることは理解しています...
しかし、私はその(EditText)部分に戸惑っていますか?どういう意味ですか ?
EditTextアプリケーションのUIの編集フィールドを表すAndroidクラスです。現在の場合、アクティビティのxmlでedittextフィールドを定義したように見え、クラスのメソッドを使用してプログラムで操作できるように、このフィールドへの参照を取得しています。
あなたはそれでできるすべてを見ることができます:Android開発者:EditText
にキャストしなかった場合は、View Android Developer:ViewEditTextとしてのみ処理できます。
このfindViewByIdメソッドはオブジェクトを返し、Viewそれを表すEditTextオブジェクトにするには、その方法でキャストする必要があります。あなたは実際にのインスタンスで作業したいので、の特定のプロパティにアクセスできるようにしたいのではEditTextありませんViewEditText
EditText editText = findViewById(R.id.edit_message);
上記のコードは有効EditTextでViewはなく、同じではないため、キャスト/変換する必要があります。
これは明示的なクラス キャストです。によって返される一般的な View オブジェクトはfindViewById()、EditText オブジェクトにキャスト/変換されます。
(EditText) findViewById(R.id.edit_message);