ArrayAdapter<DummyContent.DummyItem> with android.R.layout.simple_list_item_activated_2



我目前在我的android应用程序项目中使用主/细节流。现在我不仅想创建一个只有一个字符串的项目列表。我想将标准的DummyItem类更改为以下内容:

     /**
     * A dummy item representing a piece of content.
     */
    public static class DummyItem {
        public String id;
        public String content;
        public String subtext; //Added subtext variable here
        public DummyItem(String id, String content, String subtext) {
            this.id = id;
            this.content = content;
            this.subtext = subtext; //And here
        }
        @Override
        public String toString() {
            return content;
        }
    }

在ItemListFragment类中,我预定义了这行代码,用于创建列表的适配器:

    setListAdapter(new ArrayAdapter<DummyContent.DummyItem>(getActivity(), 
                   android.R.layout.simple_list_item_activated_1, 
                   android.R.id.text1, 
                   DummyContent.ITEMS));

但是我想把android.R.layout.simple_list_item_activated_1改成android.R.layout.simple_list_item_activated_2

android.R.id.text1为内容,android.R.id.text2subtext变量。

有可能这样做吗?

重写ArrayAdapter的getView()方法。应该是这样的:

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    //super call to create / recycle the view
    View view = super.getView(position, convertView, parent);
    TextView textView1 = (TextView) view.findViewById(android.R.id.text1);
    textView1.setText(getItem(position).getContent());
    TextView textView2 = (TextView) view.findViewById(android.R.id.text2);
    textView2.setText(getItem(position).getSubtext());
    return view;
}

下面是一些关于listview的进一步阅读,包括示例:http://www.vogella.com/tutorials/AndroidListView/article.html

最新更新