Android:运行时的选项卡栏

Android:运行时的选项卡栏,android,android-layout,tabs,android-tabhost,Android,Android Layout,Tabs,Android Tabhost,我正在开发一个应用程序,我想在其中使用选项卡栏。因此,我遵循的代码运行良好。但在该代码中,选项卡是预定义的 在我的应用程序中,需要的是:我希望在运行时根据来自SQLite数据库的数据生成选项卡。随着选项卡数量的增加,选项卡小部件文本和选项卡数据都来自数据库 编辑:我尝试的代码是: public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(

我正在开发一个应用程序,我想在其中使用选项卡栏。因此,我遵循的代码运行良好。但在该代码中,选项卡是预定义的

在我的应用程序中,需要的是:我希望在运行时根据来自SQLite数据库的数据生成选项卡。随着选项卡数量的增加,选项卡小部件文本和选项卡数据都来自数据库

编辑:我尝试的代码是:

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);
    }

请引导我。

我过去也这样做过。按照以下步骤操作:

  • 首先从DB获取所有选项卡设置数据

  • 根据来自DB的数字添加选项卡,在我的要求中,我只想显示4个选项卡。创建一个类似于

    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);
    }