onResume 中的 NullPointerException
Posted
技术标签:
【中文标题】onResume 中的 NullPointerException【英文标题】:NullPointerException in onResume 【发布时间】:2014-04-12 10:24:02 【问题描述】:我有两个活动 MainActivity 和 SecondActivity
activity MainActivity .java中的代码
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();
我从另一个活动返回后得到空指针异常;
MainActivity -> SecondActivity 的新意图
SecondActivity->finish() 然后 MainActivity-> onResume() NULL POINTER EXCEPTION
请帮忙!
【问题讨论】:
什么是NoSavedMsg
?
1.变量是如何声明的? 2.通常super.onResume()
在被覆盖的方法中是第一个而不是最后一个。
任何给定的解决方案是否解决了您的问题?如果是,那么您应该接受最佳解决方案。
【参考方案1】:
您的 TextView
名称是 noSavedMsg
,但您正在尝试将可见性设置为名为 NoSavedMsg
...的视图,而这两者并不相同。
改变这一行...
NoSavedMsg.setVisibility(View.VISIBLE);
到...
noSavedMsg.setVisibility(View.VISIBLE);
【讨论】:
对不起它的 noSavedMsg 只;但为什么它在前面的行(即在 databaseobj 和 On listview)上给出空指针异常 如果您的代码在listview
上崩溃,那么在该行之后就不可能再进一步...所以,listview
和 databaseobj
不为空...noSavedMsg
是null 并且应用程序在这一行崩溃。【参考方案2】:
你确定你需要那个资本N
吗?
NoSavedMsg.setVisibility(View.VISIBLE);
而不是:
noSavedMsg.setVisibility(View.VISIBLE);
【讨论】:
对不起它的 noSavedMsg 只;但为什么它在前面的行(即在 databaseobj 和 On listview)上给出空指针异常【参考方案3】:databaseobj = new AppDatabase(MainActivity.this, null);
listview = (ListView) findViewById(R.id.store_listview);
noSavedMsg = (TextView) findViewById(R.id.no_msg);
将此代码添加到 onResume 方法中,看看它是否有效。
【讨论】:
可能是因为当您更改活动时,第一个活动会释放其资源,这意味着销毁任何变量。您可以尝试使用 startActivityForResult 而不是 startactivity(如果您还没有)以上是关于onResume 中的 NullPointerException的主要内容,如果未能解决你的问题,请参考以下文章
Failed to start bean ‘documentationPluginsBootstrapper‘; nested exception is java.lang.NullPointerEx
Maven + Spring + Hibernate:hibernate3-maven-plugin hbm2ddl 失败,原因是“Caused by: java.lang.NullPointerEx
onResume 中的 NullPointerException
在android应用程序中,调用onResume方法时清除状态栏中的小图标