在Fragment中自定义listView。没有找到布局

问题描述 投票:-1回答:1

我在Fragment中做了一个listView,效果不错。现在我想做一个自定义的listView,但我得到的是not found.用simple_list_item_1可以,用list item就不行。

    @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);
                                                                           ^

符号:变量list_item

java android android-studio android-listview
1个回答
0
投票

如果没有崩溃,并且你的列表视图没有创建,可以试试这个。

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

0
投票

答案

    @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);
}
© www.soinside.com 2019 - 2024. All rights reserved.