Androidでファイルへの書き込みを実行する次のコードサンプルがあります。
public void Write(View v) {
String contents = txt1.getText().toString();
try {
FileOutputStream f = openFileOutput(filename, Context.MODE_PRIVATE);
PrintWriter w = new PrintWriter(f);
w.println(contents);
w.close();
f.close();
} catch (Exception e) {
e.printStackTrace();
}
}
私の質問は、Viewオブジェクト(パラメーターとして渡される)は何をするのか、そしてなぜそれが必要なのかということです。ビューがAndroidのUIオブジェクトを単に参照していることは理解していますが、ここでビューオブジェクトが何をするかについての説明を見つけることができません。
ビューに属性をonClickListener
定義すると、Androidがあなたに代わってを実装することがわかりましたandroid:onClick="yourMethod"
。
これがすべてのサブクラスであることを覚えていても、Button
それが任意のビューに配置できる必要はありません。TextView
View
だからAndroidがonClickListener
あなたのために実装するために。View
パラメータとしてを渡す必要があります。
あなたの質問のWrite
方法についてButton
は、クリックされたものに興味がなかったので、View
は使用されませんでした。ただしButton's
、ユーザーがクリックしたときにテキストを変更したい場合の例を考えてみましょう。そのため、View
パラメーターをにキャストしてButton
から使用する必要があります。以下のこの例Button
で、属性を持つを確認してください。
android:onClick="changeText"
メソッドchangeText
が呼び出され、View
パラメーターはこの場合に渡されたビューであるButton
ため、メソッドは次のようになります。
public void changeText(View view) {
Button btn =(Button) view; //See how I have retrieved the Button by simply casting!
btn.setText("I am clicked");
}
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加