logcat的错误:没有适配器连接;跳绳布局
我改变与getActivity()的上下文参数,但应用程序仍不能运行。
公共类FragmentActivity扩展片段{
私人RecyclerView mRecyclerView;
私人CountryAdapter mAdapter;
私人LinearLayoutManager的layoutManager;
公共FragmentActivity(){}
@覆盖
公共查看onCreateView(LayoutInflater充气,容器的ViewGroup,捆绑savedInstanceState){
查看rootView = inflater.inflate(R.layout.activity_main,集装箱,假);
mRecyclerView =(RecyclerView)rootView.findViewById(R.id.list);
的layoutManager =新LinearLayoutManager(getActivity());
mRecyclerView.setLayoutManager(的layoutManager);
mRecyclerView.setAdapter(mAdapter);
mAdapter =新CountryAdapter(CountryManager.getInstance()getCountries(),R.layout.card_layout,getActivity());
返回rootView;
}
@覆盖
公共无效onActivityCreated(包savedInstanceState){
super.onActivityCreated(savedInstanceState);
}
}
解决方案
您没有连接适配器,因为在创建后尝试将其附着:
mRecyclerView.setAdapter(mAdapter); //这里,mAdapter为空
mAdapter =新CountryAdapter(CountryManager.getInstance()getCountries(),R.layout.card_layout,getActivity());
logcat error : No adapter attached; skipping layout
I changed the context argument with getActivity(), but the app is still not running.
public class FragmentActivity extends Fragment {
private RecyclerView mRecyclerView;
private CountryAdapter mAdapter;
private LinearLayoutManager layoutManager;
public FragmentActivity(){}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.activity_main, container, false);
mRecyclerView = (RecyclerView) rootView.findViewById(R.id.list);
layoutManager = new LinearLayoutManager(getActivity());
mRecyclerView.setLayoutManager(layoutManager);
mRecyclerView.setAdapter(mAdapter);
mAdapter = new CountryAdapter(CountryManager.getInstance().getCountries(), R.layout.card_layout, getActivity());
return rootView;
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
}
}
解决方案
You didn't attach the adapter because you create it after you try to attach it:
mRecyclerView.setAdapter(mAdapter); // Here, mAdapter is null
mAdapter = new CountryAdapter(CountryManager.getInstance().getCountries(), R.layout.card_layout, getActivity());
上一篇:从Android backstack删除一个特定的片段片段、Android、backstack
下一篇:ClassCastException异常:的java.lang.Object []不能转换为java.lang.String []机器人转换为、机器人、异常、java