【发布时间】: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