仅用于学习目的
<Button
android:id="@+id/button"
android:text=""
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:onClick="updateTime"/>
public class MainActivity extends Activity {
Button btn;
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.main);
btn = (Button) findViewById(R.id.button);
updateTime(btn);
}
public void updateTime(View b) {
btn.setText(new Date().toString());
}
}
如果查看b它是对btn的引用,如何传递它
视图? 我试过像
public void updateTime(Button b) {
b.setText(new Date().toString());
}
但它不起作用 你能帮帮我吗?
提前致谢。
答案 0 :(得分:1)
你试过了吗?
public void updateTime(View b) {
((Button)b).setText(new Date().toString());
}
此名称必须与仅采用一个的公共方法相对应 View类型的参数
因此,如果您在xml布局中将updateTime定义为单击动作侦听器,那么您的回调必须与签名public void updateTime(View v)
匹配,这意味着您不能将其声明为接受Button作为参数。
此外,android:onClick
仅适用于API级别4及更高版本,因此,如果您的API级别低于此级别,则必须在代码中声明Click动作侦听器。