Android:运行时的选项卡栏
我正在开发一个应用程序,我想在其中使用选项卡栏。因此,我遵循的代码运行良好。但在该代码中,选项卡是预定义的 在我的应用程序中,需要的是:我希望在运行时根据来自SQLite数据库的数据生成选项卡。随着选项卡数量的增加,选项卡小部件文本和选项卡数据都来自数据库 编辑:我尝试的代码是:Android:运行时的选项卡栏,android,android-layout,tabs,android-tabhost,Android,Android Layout,Tabs,Android Tabhost,我正在开发一个应用程序,我想在其中使用选项卡栏。因此,我遵循的代码运行良好。但在该代码中,选项卡是预定义的 在我的应用程序中,需要的是:我希望在运行时根据来自SQLite数据库的数据生成选项卡。随着选项卡数量的增加,选项卡小部件文本和选项卡数据都来自数据库 编辑:我尝试的代码是: public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
DataBaseHelper dataBaseHelper = new DataBaseHelper(this);
try {
dataBaseHelper.createDataBase();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
dataBaseHelper.openDataBase();
Cursor c = dataBaseHelper.getDataFromDataBase();
String[] name = new String[c.getCount()];
int i=0;
if(c.getCount() > 0){
if(c.moveToFirst()){
do{
name[i] = c.getString(0);
i++;
} while(c.moveToNext());
}
}
TabHost tabHost = getTabHost();
for(int j = 0; j < name.length; j++){
TabSpec tab = tabHost.newTabSpec(name[j]);
Intent intent = new Intent(this, SecondActivity.class);
tab.setContent(intent);
tabHost.addTab(tab);
}
请引导我。我过去也这样做过。按照以下步骤操作:
for (int j = 0; j < 4 && j < cursor.getCount(); j++) {
addTab1(tab_title_from_DB, tab_image_from_DB,tab_fragement_class, 0, 1);
}
for(int j=0;j<4&&j
addTab1(…)
中,我加载了我的Custom_tab_指示器布局
并绑定数据,将选项卡添加到Tabhost中,如mTabHost.addTab(spec)代码>
mTabHost.setCurrentTab(0)
选择我的第一个选项卡更新:您必须将
选项卡指示器设置为photospec.setIndicator(“,ressources.getDrawable(R.drawable.icon\u windows\u config))
与选项卡指示器类似
TabSpec用于在特定选项卡上设置指示器、内容、标签、图标等。我已经创建了TabSpec对象,该对象将由newTabSpec方法或TabHost类初始化,该类将标记或标题作为参数
setIndicator将指示是否选择了特定选项卡。/res/drawable
中的文件图标\u windows\u config
将指示选项卡未被选中。此文件将在未选择选项卡的基础上设置选项卡的背景
您可以为您的所有选项卡设置它。ya sue将帮助您等待一段时间,您可以在代码中为(int j=0;j选项卡指示器设置为类似photospec.setIndicator(“,ressources.getDrawable(R.drawable.icon\u windows\u config))
到TabSpec
for (int j = 0; j < 4 && j < cursor.getCount(); j++) {
addTab1(tab_title_from_DB, tab_image_from_DB,tab_fragement_class, 0, 1);
}