这是我的简单例子.我在main.xml文件中定义了一个按钮,并在"点击"属性中调用了按钮01时调用我的onClickk方法.这很好,但我不明白为什么View我想通过简单的传递对象Button并且不进行投射.
如果我将按钮作为按钮传递,则当我点击按钮时应用程序意外停止.
public class Als extends Activity {
Button button01;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
button01 = (Button) findViewById(R.id.Button01);
button01.setText("something");
}
public void onClickk(View button01) {
Button but = (Button) button01;
but.setText("Cooool");
}
}
Run Code Online (Sandbox Code Playgroud)
那是因为OnClick事件是View对象的一部分.Button只是继承/使用它.当onClick函数由框架调用,它调用它的视图对象,而不是按钮,这样它通过一个视图,然后你需要知道什么类型转换它.
| 归档时间: |
|
| 查看次数: |
1224 次 |
| 最近记录: |