片段中的自定义列表视图。未找到布局

Posted

技术标签:

【中文标题】片段中的自定义列表视图。未找到布局【英文标题】:Custom listView in Fragment. Layout not found 【发布时间】:2020-09-12 01:51:20 【问题描述】:

我在 Fragment 中有一个 listView 并且工作正常。现在我正在尝试做一个自定义 listView 但我找不到。 使用 simple_list_item_1 可以正常工作,但无法使用列表项。

    @Override
public void onActivityCreated(Bundle savedInstanceState) 
    // TODO Auto-generated method stub
    super.onActivityCreated(savedInstanceState);

        ListView mListView = (ListView)getActivity().findViewById(R.id.list);
        //mArrayAdapter = new ArrayAdapter<String>(getContext(), android.R.layout.simple_list_item_1, android.R.id.text1, songs);
        mArrayAdapter = new ArrayAdapter<String>(getContext(), android.R.layout.list_item, android.R.id.text1, songs);
        mListView.setAdapter(mArrayAdapter);


错误

error: cannot find symbol
    mArrayAdapter = new ArrayAdapter<String>(getContext(), android.R.layout.list_item, android.R.id.text1, songs);
                                                                           ^

符号:变量列表项

【问题讨论】:

在这里发布 logcat 错误 错误:找不到符号 mArrayAdapter = new ArrayAdapter(getContext(), android.R.layout.list_item, android.R.id.text1, song); ^ 符号:变量 list_item 我发布了我的答案 我得到同样的错误 发布您的完整 java 类和 XML 类 【参考方案1】:

如果没有崩溃并且您的列表视图未创建,请尝试此操作,

覆盖 onViewCreated() 并在其中声明 listview 并使用 view 而不是 getActivity() 像这样

ListView mListView = (ListView)view.findViewById(R.id.list);

 mArrayAdapter = new ArrayAdapter<String>(getActivity(), android.R.layout.list_item, android.R.id.text1, songs);

在那里复制并粘贴代码

  @Override
    public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) 
        super.onViewCreated(view, savedInstanceState);
        ListView mListView = (ListView)view.findViewById(R.id.list);
        //mArrayAdapter = new ArrayAdapter<String>(getContext(), android.R.layout.simple_list_item_1, android.R.id.text1, songs);
        mArrayAdapter = new ArrayAdapter<String>(getActivity(), android.R.layout.list_item, android.R.id.text1, songs);
        mListView.setAdapter(mArrayAdapter);
    

【讨论】:

【参考方案2】:

回答

    @SuppressLint("ResourceType")
@Override
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) 
    super.onViewCreated(view, savedInstanceState);
    ListView mListView = (ListView)view.findViewById(R.id.list);
    mArrayAdapter = new ArrayAdapter<String>(getActivity(), R.layout.list_item , R.id.text2, songs);
    mListView.setAdapter(mArrayAdapter);

【讨论】:

以上是关于片段中的自定义列表视图。未找到布局的主要内容,如果未能解决你的问题,请参考以下文章

PagerSlidingTabStrip- 使用列表片段的自定义视图显示突然的行为

标签视图中的 Android 操作栏搜索

由于未找到 ID 错误的视图,列表片段未出现

如何删除android中的自定义列表视图项?

在片段中使用列表视图

使用自定义适配器的自定义对象