我正在使用 CursorLoader 从片段中的 SQLite 获取一些数据。为此的 initLoader() 在 onActivityCreated() 中执行...
public class MyFragment extends Fragment implements LoaderCallbacks<Cursor>
{
MenuItem menuItemOne;
@Override
public void onActivityCreated(Bundle savedInstanceState)
{
super.onActivityCreated(savedInstanceState);
getLoaderManager().initLoader(0, null, this);
}
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater)
{
inflater.inflate(R.menu.myMenu, menu);
menuItemOne = menu.findItem(R.id.menuItemOne);
}
@Override
public void onLoadFinished(Loader<Cursor> loader, Cursor cursor)
{
menuItemOne.doSomething();
}
}
为便于阅读,对上述代码进行了简化。这是我的问题...
- 在Nexus S上,没有问题。
- 在Nexus 7上,空指针出现在 onLoadFinished 中。menuItemOne 在这里为空。
Nexus S 使用的是 Android 4.1.2,而 Nexus 7 使用的是 Android 4.2.2。
- 我应该在其他地方运行 initLoader() 吗?
- 您认为 Android 版本存在错误/差异吗?