我的android点击监听按钮有一些非常奇怪的麻烦!我已经做了好几次,我为这个错误找不到解决方案(既不是合乎逻辑的解释)而疯狂。
错误 我的活动上的2个按钮的事件处理程序未被执行。没有错误,它只是在运行时不执行处理程序操作。这是其中一个按钮的代码:
btnNext = (Button) findViewById(R.listclient.btnnext);
btnNext.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
Toast.makeText(MyActivityClassName.this, "Flag 01", 1).show();
btnNext.setText("CLICKED!");
}
});
这就是xml布局上的按钮:
<Button android:id="@+listclient/btnnext"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:clickable="true"
style="@style/Widget.TextViewInfo"
android:text="Next"
/>
信息
我正在为Android 2.1 + Google API(SDK 7)进行编译
------------ EDITED -----------------
如果我输入我的代码:
btnNext.performClick();
它被执行了!我现在变得非常疯狂! 当我触摸按钮时,实际上点击了按钮,我可以看到按钮“动画”,并且点击记录在LogCat中。
答案 0 :(得分:8)
指定或使用ID时,您无法使用listclient
。第一部分是资源的类型,在您的情况下必须是id
。
将android:id="@+listclient/btnnext"
更改为android:id="@+id/btnnext"
。还要调整代码:
btnNext = (Button) findViewById(R.id.btnnext);
答案 1 :(得分:0)
快速浏览一下代码,我注意到你没有正确地调用findViewById
。将Button的ID更改为“test”,然后尝试:findViewById(R.id.test)
。有意义吗?