Tab控件 笔记
选项卡控件的使用Tab
1、要在组件配置文件中添加Tab的控件
<TabHost android:id="@+id/tabHost" android:layout_width="wrap_content" android:layout_height="wrap_content" />
2、启动程序Activity需要继承TabActivity类和TabContentFactory接口
继承TabActivity主要是为了得到TabHost这个类
继承接口TabContentFactory是为了添加一个监听,当Tab标签被选中的时候会执行createTabContent(String tag)方法——具体实现下拉列表
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//TabHost是一个包含Tab标签的容器,它包含Tab标签和显示contents of page两部分
TabHost th = getTabHost();
LayoutInflater.from(this).inflate(R.layout.main, th, true);
//创建了三个Tab标签,名称分别是all、ok、cancel
TabHost.TabSpec all = th.newTabSpec("all");
TabHost.TabSpec ok = th.newTabSpec("ok");
TabHost.TabSpec cancel = th.newTabSpec("cancel");
//设定标签显示的内容和选项的内容,执行setContent方法的时候会执行接口createTabContent()方法
th.addTab(all.setIndicator("所有通话记录_").setContent(this));
th.addTab(ok.setIndicator("已接电话_").setContent(this));
th.addTab(cancel.setIndicator("未接电话_").setContent(this));
}
@Override
public View createTabContent(String tag) {
//下面该方法是制作一个ListView
ListView lv = new ListView(this);
List<String> list = new ArrayList<String>();
if(tag.equals("all")){
list.add("Tom");
list.add("Kite");
list.add("Rose");
}else if(tag.equals("ok")){
list.add("Tom");
list.add("Kite");
}else if(tag.equals("cancel")){
list.add("Rose");
}
ArrayAdapter adapter = new ArrayAdapter(this, android.R.layout.simple_list_item_checked, list);
lv.setAdapter(adapter);
//给下拉选项添加事件
lv.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
System.out.println("view.getId() : " + view.getId());
System.out.println("position : " + position);
System.out.println("id : " + id);
//使用了提示对话框Toast
Toast.makeText(getApplicationContext(), "short", Toast.LENGTH_SHORT).show();
}
});
return lv;
}
回忆过去,珍惜现在,放眼未来

浙公网安备 33010602011771号