当前位置: 代码迷 >> Android >> 在一个TabHost的Tab页下想显示一个ListView,为什么显示不出来
  详细解决方案

在一个TabHost的Tab页下想显示一个ListView,为什么显示不出来

热度:66   发布时间:2016-05-01 12:07:58.0
在一个TabHost的Tab页上想显示一个ListView,为什么显示不出来?
代码如下,但运行后Tab上没有显示出有ListItem ,是哪的问题?

   public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        myTabhost=this.getTabHost();
        LayoutInflater.from(this).inflate(R.layout.activity_main,myTabhost.getTabContentView(),true);
        myTabhost.addTab(myTabhost.newTabSpec("tab1").setIndicator("tab1",getResources().getDrawable(R.drawable.calendar)).setContent(R.id.tab1));
        myTabhost.addTab(myTabhost.newTabSpec("tab2").setIndicator("tab2",getResources().getDrawable(R.drawable.ic_launcher)).setContent(R.id.tab2));
        myTabhost.addTab(myTabhost.newTabSpec("tab3").setIndicator("tab3").setContent(R.id.tab3));
        listView1=(ListView) findViewById(R.id.listView1);
        
     data=new ArrayList<Map<String,Object>>();
     Map<String,Object> item;
     item=new HashMap<String,Object>();
     item.put("date", "2012-12-21");
     item.put("item","世界末日");
     data.add(item);
    
     item.put("date", "2013-1-1");
     item.put("item", "新年来临");
     data.add(item);


SimpleAdapter adapter=new SimpleAdapter(this, data, android.R.layout.simple_expandable_list_item_2, new String[]{"date","item"}, new int[]{R.id.textView1,R.id.textView2});
        listView1.setAdapter(adapter);
        
    }

------解决方案--------------------
我一般是重写adapter,然后实现getView,再setAdapter
------解决方案--------------------
应该是适配器的问题,1楼说得不错,自定义一个adapter会好一些
------解决方案--------------------
你用的是哪个版本?

每次你必须使用新的hash map object来存储arraylist的数据

Map item = new HashMap();

        item.put("date", "2012-12-25");

        item.put("item","Christmas");

        data.add(item);

Map item1 = new HashMap();

        item1.put("date", "2013-1-1");

        item1.put("item", "new year");

data.add(item);






 
  相关解决方案