真的很奇怪,当我在xml上创建btn并设置他的on click方法时,我只能编写主要活动上的方法(并将View v作为诅咒的参数)。 当我试图调用方法,它不是主要活动即时通讯 java.lang.IllegalStateException:无法在主活动上单击(查看)上找到方法。虽然具有按钮的xml文件不是主要活动的一个。 我试图添加监听器,但它给了我同样的问题。
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:onClick="btnCarClick"
android:text="Refresh" />
编辑:我得到了那个例外,因为在程序的早期我没有以正确的方式切换活动,所以当我试图调用btnClick时,程序没有找到该方法,因为它是在另一个活动上。
答案 0 :(得分:0)
您应该避免使用onClick属性来避免此类错误。
你宁愿在你的活动中这样做:
Button button = findViewById(R.id.button1);
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// do something here
}
});