我收到一些奇怪的日志,这显然只发生在版本低于 3 的 Android 设备上(已使用模拟器检查)。 当您更改方向并使用非空的 Bundle 调用 onCreate() 或 onRestoreInstanceState() 时,它崩溃了
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main_menu);}
if (savedInstanceState != null) {
mSlug = savedInstanceState.getString(KEY_SLUG, null);
}
}@Override
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putString(KEY_SLUG, mSlug);
}@Override
protected void onRestoreInstanceState(Bundle outState) {
super.onRestoreInstanceState(outState);
if (outState != null) {
mSlug = outState.getString(KEY_SLUG, mSlug);
}
}
LogCat-Log 看起来像: http://i.stack.imgur.com/WbivQ.png 有人知道这里发生了什么吗?
最佳答案
Bundle.getString with 2 arguments 仅在 API 级别 12 及更高版本中可用。您必须自己指定默认值,而不是将其作为参数传递。
您以后可以通过单击“按 API 级别过滤”下拉菜单并在 the documentation 的右上角选择适当的 API 级别来自行检查。
关于android - NoSuchMethodError Bundle.getString() 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11110423/