Изменение действий в Android - список внутри вкладки

1

Эй, я искал переполнение стека по тому же вопросу, что и это, но я не могу заставить его работать, и я отчаянно надеюсь, что кто-то может помочь!

У меня есть три вкладки, каждая из которых имеет свою собственную деятельность. На первой вкладке я внедрил список на вкладке, и у него есть некоторые значения, которые не представляют проблемы. Остальные две вкладки имеют раскладки таблиц.

Здесь проблема: Мне нужно переключиться на вторую вкладку, когда щелкнут любой элемент списка.

Как мне это сделать? Я прочитал несколько страниц в Интернете о регистрации намерения, но не могу заставить ничего работать с tabHost, реализующим listView.

Код ниже!

Большое спасибо.

открытый класс AlertsActivity расширяет TabActivity реализует OnTabChangeListener, OnClickListener {   private static final Строка LIST1_TAB_TAG = "Сохраненные оповещения";    private ListView listView1;   private TabHost tabHost;

@Override 
public boolean onCreateOptionsMenu(Menu menu)
{
    super.onCreateOptionsMenu(menu);
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.menu, menu);
    return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item)
{
    switch (item.getItemId())
    {
    case R.id.settings:
        startActivity(new Intent(this, Prefs.class));
        return true;
    }
return false;
}


@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.tab1);

    tabHost = getTabHost();
    tabHost.setOnTabChangedListener(this);

    listView1 = (ListView) findViewById(R.id.list);

     List<String> listStrings1 = new ArrayList<String>();
    listStrings1.add("Item 1");
    listStrings1.add("Item 2");
    listStrings1.add("Item 3");
    listStrings1.add("Item 4");
    listStrings1.add("Item 5");
    listStrings1.add("Item 6");
    listStrings1.add("Item 7");
    listStrings1.add("Item 8");
    listStrings1.add("Item 9");
    listStrings1.add("Item 10");

    listView1.setAdapter(new ArrayAdapter(this, android.R.layout.simple_list_item_1, listStrings1));

    tabHost.addTab(tabHost.newTabSpec(LIST1_TAB_TAG).setIndicator(LIST1_TAB_TAG).setContent(new TabContentFactory() {
        public View createTabContent(String arg0) {
         return listView1;
        }
    }));

}

public void onTabChanged(String tabName) {
    if(tabName.equals(LIST1_TAB_TAG)) {

    }
}

public void onClick(View src) {

}

}

Теги:
list
android-activity
switch-statement
tabs

1 ответ

1

В вашем слушателе (внутри вашей TabActivity) просто выполните:

getTabHost().setCurrentTab(index);

Документация TabHost для setCurrentTab (int)

Документация по TabActivity для getTabHost()

Ещё вопросы

Сообщество Overcoder
Наверх
Меню