roc*_*now 4 android nullpointerexception android-fragments
getArguments()返回null!
活动代码:
if (savedInstanceState == null) {
// During initial setup, plug in the details fragment.
FlightListFragment listFragment =
FlightListFragment.newInstance(mSearchParams);
getSupportFragmentManager().beginTransaction().add(
android.R.id.content, listFragment).commit();
}
Run Code Online (Sandbox Code Playgroud)
在片段中:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle
savedInstanceState) {
mSearchParams =
getArguments().getParcelable(SearchResultsActivity.EXTRA_SEARCH_PARAMS);
return super.onCreateView(inflater, container, savedInstanceState);
}
Run Code Online (Sandbox Code Playgroud)
和:
public static FlightListFragment newInstance(SearchParams sp) {
FlightListFragment f = new FlightListFragment();
Bundle b = new Bundle();
b.putParcelable(SearchResultsActivity.EXTRA_SEARCH_PARAMS, sp);
f.setArguments(b);
return f;
}
Run Code Online (Sandbox Code Playgroud)
但是我总是在这里得到NullPointerException:getArguments().
请解释一下我做错了什么.
谢谢!
编辑:
我发现在onCreateView之后调用newInstance()方法,所以我将代码从它移到了onCreate,但问题并没有避免.
090*_*9EM 10
这意味着片段实例化时没有提供任何参数...
你可以通过做这样的事情来检查是否提供了参数......
Bundle arguments = getArguments();
if (arguments != null)
{
// then you have arguments
} else {
// no arguments supplied...
}
Run Code Online (Sandbox Code Playgroud)
好的 - 我误解了你的问题......
在执行putParcelable时sp是否为null?
| 归档时间: |
|
| 查看次数: |
10233 次 |
| 最近记录: |