2012-01-20 2 views
3

У меня есть настроенный TabView, который отображает ListActivity, но каждый раз, когда я нажимаю один из элементов списка, это приводит к новому действию, и TabView полностью исчез.Android: Сделать новую активность остается внутри вкладки

Что я хочу, когда я нажимаю один из элементов в списке, новое действие отображается и остается на вкладке.

Может ли кто-нибудь помочь мне улучшить мой код?

Вот мой код настраиваемой TabView:

super.onCreate(savedInstanceState); 
    // construct the tabhost 
    setContentView(R.layout.project_tab); 

    setupTabHost(); 

    setupTabL(new TextView(this), "Alle", (ProjectsList.class)); 
    setupTab(new TextView(this), "Kategorien", (CategoryList.class)); 
    setupTabR(new TextView(this), "Favorites", (ProjectsList.class)); 

    final Button refresh = (Button) findViewById(R.id.btn_project_refresh); 
    refresh.setOnClickListener(refresh_listener); 
} 

private void setupTab(final View view, final String tag, final Class<?> context) { 
    View tabview = createTabView(mTabHost.getContext(), tag); 
    TabSpec ts1 = mTabHost.newTabSpec("tab1"); 
    ts1.setIndicator(tabview); 
    mTabHost.addTab(ts1); 
} 

private static View createTabView(final Context context, final String text) { 
    View view = LayoutInflater.from(context).inflate(R.layout.inner_tab_m_bg, null); 
    TextView tv = (TextView) view.findViewById(R.id.tabsText); 
    tv.setText(text); 
    return view; 
} 

и это onListItemClick фрагмент из кода ListActivity «s:

protected void onListItemClick(ListView l, View v, int position, long id) { 
     super.onListItemClick(l, v, position, id); 
     Object o = this.getListAdapter().getItem(position); 
     String choice = o.toString(); 
     if (choice .equals("Entwicklungshilfe")) { 
      Intent i = new Intent(CategoryList.this, SubCategoryList.class); 
      i.putExtra("category","'%Entwicklungshilfe%'"); 
      startActivityForResult(i,0); 

ответ

Смежные вопросы