小编典典

按钮功能中的空指针异常

java

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文件:

  • / res /布局
  • / res / layout-large

其中一个(大目录中)里面没有按钮,因此在使用大布局的设备上运行应用程序时出现错误。


阅读 265

收藏
2020-11-26

共1个答案

小编典典

最有可能你已经不叫setContentView()layout,这Button是要不你不叫setContentView() 之前
这条线

btnEditor = (Button) findViewById(R.id.btnEditor);

这些情况中的任何一种都会NPE在该行给出a ,这是唯一的原因。如果您认为自己愿意,请发表您的做法。

2020-11-26