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()
给了我一个空指针异常。
btnEditor是XML Button的早期连接者:
btnEditor = (Button) findViewById(R.id.btnEditor);
在我的main.xml文件中:
<Button
android:id="@+id/btnEditor"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="8dp"
android:layout_marginRight="8dp"
android:layout_marginTop="16dp"
android:text="Editor"
android:textSize="48dp"
android:textStyle="bold"
android:typeface="normal" android:layout_gravity="bottom"/>
说真的,我不知道该怎么做......
分辨
我忘记了我有两个main.xml
个文件:
其中一个(在大型目录中)内部没有包含Button,因此在使用大型布局在设备上运行应用程序时出现错误。
答案 0 :(得分:1)
您很可能没有使用此setContentView()
所在的layout
来调用Button
,或者您之前没有调用setContentView()
>这一行
btnEditor = (Button) findViewById(R.id.btnEditor);
这些情况中的任何一种都会在该行给出NPE
并且是唯一的原因。如果你认为你那么请发布你如何做到这一点。
答案 1 :(得分:0)
尝试下一步:
答案 2 :(得分:0)
将其写为全局变量
Button btnEditor ;
在你的on create()中写
btnEditor = (Button) findViewById(R.id.btnEditor);
btnEditor.setOnClickListener(new View.OnClickListener(){
public void onClick(View arg0) {
}
});