我创建了以下应用程序。我想在TabHost的Tab中显示ListView。运行应用程序后,我没有在Tab上找到任何ListItem。我重写了适配器并实现了getView,然后是setAdapter。
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-25");
item.put("item","Christmas");
data.add(item);
item.put("date", "2013-1-1");
item.put("item", "new year");
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);
}
你帮我找到了问题吗?
答案 0 :(得分:1)
每次你必须使用新的哈希映射对象在哈希映射的帮助下在arraylist中存储数据
Map<String,Object> item = new HashMap<String,Object>();
item.put("date", "2012-12-25");
item.put("item","Christmas");
data.add(item);
Map<String,Object> item1 = new HashMap<String,Object>();
item1.put("date", "2013-1-1");
item1.put("item", "new year");
data.add(item1);
答案 1 :(得分:0)
TabActivity类在API级别13中已弃用。新应用程序应使用Fragments而不是此类。