android - 如何将 ArrayAdapter 设置为 Listview - Android

标签 android list android-listview android-arrayadapter

我有一个扩展 ArrayAdapter 的类。我无法将 ListAdapter 设置为我的 ListView,因为我不知道在尝试创建 ListAdapter 时代码应该是什么。这是我当前的代码。

class Item {
                String username;
                String number;
                String content;

            }


             class ListAdapter extends ArrayAdapter<Item> {

                public ListAdapter(Context context, int textViewResourceId) {
                    super(context, textViewResourceId);
                    // TODO Auto-generated constructor stub
                }

                private List<Item> items;

                public ListAdapter(Context context, int resource, List<Item> items) {

                    super(context, resource, items);

                    this.items = items;

                }

                @Override
                public View getView(int position, View convertView, ViewGroup parent) {

                    View v = convertView;

                    if (v == null) {

                        LayoutInflater vi;
                        vi = LayoutInflater.from(getContext());
                        v = vi.inflate(R.layout.list_item, null);

                    }

                    Item p = items.get(position);

                    if (p != null) {

                        TextView tt = (TextView) v.findViewById(R.id.id);
                        TextView tt1 = (TextView) v.findViewById(R.id.categoryId);
                        TextView tt3 = (TextView) v.findViewById(R.id.description);

                        if (tt != null) {
                            tt.setText(p.getId());
                        }
                        if (tt1 != null) {

                            tt1.setText(p.getCategory().getId());
                        }
                        if (tt3 != null) {

                            tt3.setText(p.getDescription());
                        }
                    }

                    return v;

                }
             }

这是我遇到问题的地方,试图声明 ListAdapter

List <Item> tempList = new ArrayList <Item>();

                ListView yourListView = (ListView) findViewById(android.R.id.list);

                // Here is the problem
                ListAdapter customAdapter = new ListAdapter(this, R.layout.list_item, List<tempList> //the error occurs right here);

                yourListView .setAdapter(customAdapter);

最佳答案

改变

ListAdapter customAdapter = new ListAdapter(this, R.layout.list_item,List<tempList>)

ListAdapter customAdapter = new ListAdapter(this, R.layout.list_item, tempList); 
//...........

删除列表只添加tempList

关于android - 如何将 ArrayAdapter 设置为 Listview - Android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18372450/

相关文章:

android - 来自多个改造请求的 Observable<List<SomeItems>

python - 任何 python 模块都可以支持枚举 2 个列表并执行 "cross multiplication"?

android - 将对话框中的项目添加到 ListView

android-layout - ListView选择自定义颜色

android - 与 Android 4.4.4 相比,通用图像加载器库在 Android 5.0 上运行缓慢

android - 针对导致问题的不同密度优化应用程序

java - 如何从另一个 Activity 的不同回收 View 开始创建新的回收 View

android - 我无法在实现 ActionTab 监听器的另一个 fragment 的 onTabSelected 中调用 fragment

jquery - 从列表中创建 <select> - 缩进子项?

java - 打印深度列表的内容?