【问题标题】:No adapter attached; skipping layout [duplicate]未连接适配器;跳过布局[重复]
【发布时间】:2015-04-15 03:25:56
【问题描述】:

logcat 错误:未连接适配器;跳过布局

我用 getActivity() 更改了上下文参数,但应用仍然没有运行。

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

【问题讨论】:

    标签: android android-adapter android-recyclerview android-cardview


    【解决方案1】:

    您没有附加适配器,因为您是在尝试附加后创建的:

    mRecyclerView.setAdapter(mAdapter); // Here, mAdapter is null
    mAdapter = new CountryAdapter(CountryManager.getInstance().getCountries(), R.layout.card_layout, getActivity());
    

    【讨论】:

    • 感谢您的回答,我现在正在连接我的适配器,但它仍然没有显示我的列表
    • CountryManagerCountryAdapter 可能返回错误/空数据。它们不是系统类,因此您需要提供源代码。
    • 好吧,当我不使用片段时,它们确实会返回数据,所以我认为问题在于片段活动
    • 好的,也许片段在其宿主活动中设置的视图层次结构中显示得太小。
    • here
    【解决方案2】:

    在我的情况下,出现这个问题是因为我的布局上有一个视图移动了我的列表容器并且它显示得太小了

    【讨论】:

      猜你喜欢
      • 2016-09-09
      • 2021-01-11
      • 2021-05-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-24
      相关资源
      最近更新 更多