Java onResume中的NullPointerException
我有两个活动main活动和second活动 活动MainActivity.java中的代码Java onResume中的NullPointerException,java,android,android-activity,android-fragmentactivity,Java,Android,Android Activity,Android Fragmentactivity,我有两个活动main活动和second活动 活动MainActivity.java中的代码 public class MainActivity extends FragmentActivity implements OnMarkerClickListener { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); getWi
public class MainActivity extends FragmentActivity implements OnMarkerClickListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getWindow().requestFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_main_screen);
databaseobj = new AppDatabase(MainActivity.this, null);
listview = (ListView) findViewById(R.id.store_listview);
noSavedMsg = (TextView) findViewById(R.id.no_msg);
..
..
..//Other code logic
..
}
@Override
protected void onResume() {
if (databaseobj.GetAll() != -1) { //NULL POINTER EXCEPTION
listview.setVisibility(View.GONE); //NULL POINTER EXCEPTION
noSavedMsg.setVisibility(View.VISIBLE); //NULL POINTER EXCEPTION
}
super.onResume();
}
}
从另一个活动返回后,我得到空指针异常
main活动->第二活动的新意图
SecondActivity->finish()然后是MainActivity->onResume()空指针异常
请帮忙 您的
TextView
名称是nosavedmg
,但您正在尝试将可见性设置为名为nosavedmg
…的视图,其中这两个视图不相同
更改此行
NoSavedMsg.setVisibility(View.VISIBLE);
到
你确定你需要那笔资金吗
NoSavedMsg.setVisibility(View.VISIBLE);
而不是:
将此代码添加到onResume方法中,然后查看它是否有效。什么是
NoSavedMsg
?1。变量是如何声明的?2.通常,super.onResume()
是重写方法中的第一个,而不是最后一个。给定的解决方案解决了您的问题吗?如果你这么做了,那么你应该接受最好的解决方案;但为什么它只在前面的行(即databaseobj和listview)上给出空指针异常;但是为什么它会在前面的行(即databaseobj和listview)上给出空指针异常?如果您的代码在listview
上崩溃,那么在该行之后就不可能再出现空指针异常了…所以,listview
和databaseobj
不是空的,noSavedMsg
是空的,应用程序正在这一行崩溃。可能是因为当您更改活动时,第一个活动释放其资源,这意味着销毁任何变量。您可以尝试使用startActivityForResult而不是startactivity(如果您还没有)
NoSavedMsg.setVisibility(View.VISIBLE);
noSavedMsg.setVisibility(View.VISIBLE);
databaseobj = new AppDatabase(MainActivity.this, null);
listview = (ListView) findViewById(R.id.store_listview);
noSavedMsg = (TextView) findViewById(R.id.no_msg);