需要帮助才能弄清楚为什么按钮onCLick事件无法正常工作。我在onCreate中设置它但它似乎不起作用:
public class MainActivity extends Activity implements OnClickListener {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//Setup Refresh button listener.
Button btn = (Button) findViewById(R.id.btnRefresh);
btn.setOnClickListener(btnRefreshClick);
}
private OnClickListener btnRefreshClick = new OnClickListener(){
@Override
public void onClick(View v){
Toast.makeText(getApplicationContext(), "Get Data from Server", Toast.LENGTH_LONG).show();
}
};
}
我甚至拿出Toast调用并尝试写入LogCat但是当我在Log.e语句上放置一个断点时,它永远不会到达那里。
答案 0 :(得分:2)
你确定要按右键吗?你确定你的资源ID /布局是否正确?
答案 1 :(得分:2)
您的代码有效且有效。
如果您未在活动中直接覆盖方法implements OnClickListener
,则应该删除onClick
。
将.xml添加到您的问题中,因为问题似乎在这里
答案 2 :(得分:0)
您在OnClickListener
方法中指定了onCreate()
...这是不对的。如果您的活动正在实现OnClickListener,那么应该有一个派生的onClick()方法。
使用:
btn.setOnClickListener(this);
而不是从onCreate()中单独的onClick()方法弹出toast。
否则,你可以试试这个:
btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v){
Toast.makeText(getApplicationContext(), "Get Data from Server", Toast.LENGTH_LONG).show();
}
});
从技术上讲,你的应该工作,所以请确保你点击了右键,并且你的布局xml中没有onClick
按钮。