【问题标题】:Android Button OnClickListener Null Pointer [duplicate]Android按钮OnClickListener空指针[重复]
【发布时间】:2014-08-11 05:21:19
【问题描述】:

在我的 onCreate 方法中:

add = (Button)findViewById(R.id.add);
add.setOnClickListener(new MyOnClickListener()); //null pointer here

public class MyOnClickListener implements OnClickListener 
{
    @Override
    public void onClick(View v) 
    {
         //send information to database
    }
}

XML 文件

<Button
    android:id="@+id/add"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBaseline="@+id/hello"
    android:layout_alignBottom="@+id/hello"
    android:layout_alignRight="@+id/id"
    android:layout_marginRight="72dp"
    android:text="Add" />

我知道有两种方法可以做到这一点,一种是使用 XML 属性,另一种是我选择使用 setOnClickListener。我读了另一篇文章,它说要清理项目,但是我仍然遇到空指针异常。怎么了?

【问题讨论】:

  • 添加为空。看看你是否在你膨胀的布局中添加了带有 id 的按钮
  • 如果你使用的是占位符片段方式,请检查带有按钮的布局是“activity_main”还是“fragment_main”(默认为布局名称),如果是后者,则需要查找它在 onCreateView 而不是 onCreate
  • 请检查尝试导入 OnClickListener for View 而不是 DialogInterface 或尝试导入 android.view.View.OnClickListener;而不是 import android.content.DialogInterface;.
  • 请张贴你的logcat
  • add.setOnClickListener(new MyOnClickListener()); //这里的空指针意味着add是NULL,因为add.setOnClickListener(null)没有问题......add是null你必须检查......在我的关注中,你使用setContentView()膨胀的布局没有添加按钮

标签: java android xml button onclicklistener


【解决方案1】:

如果您使用 Eclipse,请尝试清理项目,可能您的 R.java 自动生成的文件已损坏。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-05
    • 1970-01-01
    • 1970-01-01
    • 2022-07-07
    相关资源
    最近更新 更多