java Android getIntent()空指针异常
在我的主要活动中,我有一个ListView和一个OnClickListener。通过按钮可以切换到另一个站点(addRecord.xml),该站点正在数据库(和ListView)中添加新记录
单击(并按住)某个项目时,您将进入与添加新记录时相同的站点。(见上文)。 在这之前一切都很好。 现在,我尝试添加一个新的意图,因为(addRecord.xml)中的EditText应该用单击的ListView项(longclick)的数据填充
Intent i = new Intent(getApplicationContext(),ActivityAddRecord.class);
i.putExtra("Name", arrayList.get(position).getName());
i.putExtra("update", true);
startActivity(i);
在ActivityAddRecord类中,我添加了:
Intent i = getIntent();
final boolean update = i.getExtras().getBoolean("update");
if(update==true)
{
editText1.setText(getIntent().getExtras().getString("Name"));
}
现在,当点击并按住ListView项时,您会看到addrecord。xml站点和EditText中填入了名称。它很好用
但当我想添加新记录时(通过点击按钮),应用程序崩溃。如果没有这6行代码,它不会崩溃
在LogCat中,它在第52行显示NullPointerException,这是
final boolean update = i.getExtras().getBoolean("update");
我读过很多关于这种错误的话题,但这些解决方案对我没有帮助
有什么想法吗
# 1 楼答案
替换
final boolean update = i.getExtras().getBoolean("update");
由
final boolean update = i.getBooleanExtra("update");
还有
editText1.setText(getIntent().getExtras().getString("Name"));
由
editText1.setText(i.getStringExtra("Name"));
# 2 楼答案
您应该使用
i.getBooleanExtra
和i.getStringExtra
,因为您没有提供捆绑包(您没有调用i.setExtras(Bundle)
)