按钮function中的空指针exception
Button btnEditor; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); btnEditor = (Button) findViewById(R.id.btnEditor); //some code btnEditor.setOnClickListener(new View.OnClickListener(){ public void onClick(View arg0) { } }); }
btnEditor.setOnClickListener(new View.OnClickListener()
给了我一个空指针exception .btnEditor是XML Button的早期连接器: btnEditor = (Button) findViewById(R.id.btnEditor);
在我的main.xml文件中:
说真的,我不知道该做什么……
解决
我忘了我有两个main.xml
文件:
- / RES /布局
- / RES /布局大
其中一个(在大型目录中)内部没有包含Button,因此在使用大型布局在设备上运行应用程序时出错。
很可能你没有使用此Button
所在的layout
调用setContentView()
,否则你没有在此行之前调用setContentView()
btnEditor = (Button) findViewById(R.id.btnEditor);
这些情况中的任何一种都会在该线上产生NPE
并且是它的唯一原因。 如果你认为你那么请发布你如何做到这一点。
尝试下一步:
- btn.setOnclickListener(本);
- 您的类名实现了OnclickListener
- 添加方法OnClick
- @Override public void onClick(View v){switch(v.getId()){case R.id.R.id.btnEditor:your code break; }}
把它写成全局变量
Button btnEditor ;
在你的on create()写
btnEditor = (Button) findViewById(R.id.btnEditor); btnEditor.setOnClickListener(new View.OnClickListener(){ public void onClick(View arg0) { } });