无适配器连接;跳绳布局 [英] No adapter attached; skipping layout

查看:490
本文介绍了无适配器连接;跳绳布局的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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());

这篇关于无适配器连接;跳绳布局的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆