android +自定义列表视图

时间:2014-05-27 08:20:57

标签: android listview simpleadapter

我正在尝试制作自定义列表视图,并且正在关注此帖子 http://saigeethamn.blogspot.in/2010/04/custom-listview-android-developer.html

列表视图接受了自定义行..但只显示第一项......其余的都没有..那么错误是什么?提前谢谢..

 public class ActionBarSearchView extends ListActivity {
 @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.forummainpage);

        SimpleAdapter adapter = new SimpleAdapter(
                ActionBarSearchView.this,
                list,
                R.layout.customlistrowview,
                new String[] {"Title","Tags","Date","Author"},
                new int[]{R.id.Title,R.id.Tags,R.id.Date,R.id.Author});
        populateList();
        setListAdapter(adapter);
 }
  static final ArrayList<HashMap<String,String>> list = new ArrayList<HashMap<String,String>>();
  private void populateList()
    {
        HashMap<String,String> temp = new HashMap<String,String>();
        temp.put("Title","android an Immersive Journey");
        temp.put("Tags", "android");
        temp.put("Date", "2 years");
        temp.put("Author", "xyz");
        list.add(temp);

        HashMap<String,String> temp1 = new HashMap<String,String>();
        temp.put("Title","android an Immersive Journey");
        temp.put("Tags", "android");
        temp.put("Date", "2 years");
        temp.put("Author", "xyz");
        list.add(temp1);

        HashMap<String,String> temp2 = new HashMap<String,String>();
        temp.put("Title","android an Immersive Journey");
        temp.put("Tags", "android");
        temp.put("Date", "2 years");
        temp.put("Author", "xyz");
        list.add(temp2);

        HashMap<String,String> temp3 = new HashMap<String,String>();
        temp.put("Title","android an Immersive Journey");
        temp.put("Tags", "android");
        temp.put("Date", "2 years");
        temp.put("Author", "xyz");
        list.add(temp3);

        HashMap<String,String> temp4 = new HashMap<String,String>();
        temp.put("Title","android an Immersive Journey");
        temp.put("Tags", "android");
        temp.put("Date", "2 years");
        temp.put("Author", "xyz");
        list.add(temp4);
    }

1 个答案:

答案 0 :(得分:3)

您始终将数据添加到HashMap temp。您需要将数据添加到不同的HashMap

 HashMap<String,String> temp1 = new HashMap<String,String>();
    temp1.put("Title","android an Immersive Journey");
    temp1.put("Tags", "android");
    temp1.put("Date", "2 years");
    temp1.put("Author", "xyz");
    list.add(temp1);

然后

HashMap<String,String> temp1 = new HashMap<String,String>();
    temp2.put("Title","android an Immersive Journey");
    temp2.put("Tags", "android");
    temp2.put("Date", "2 years");
    temp2.put("Author", "xyz");
    list.add(temp2);

等等。