2012-11-12 35 views
0

我有一個內置listview的android tabhost,當我點擊一個listviewitem時,我想在tablayout裏面的舊列表的地方顯示一個新列表。 我該如何執行此操作? (我需要使用列表視圖,不片段)Android下拉列表中的向下鑽取導航

enter image description here

謝謝!

+0

爲什麼-1?請評論.. – frx08

+1

一個簡單的原因可能是在downvote按鈕的工具提示中提到的一個原因:此問題沒有顯示任何研究工作 - 即,您沒有向我們展示您嘗試過的自己,這通常是也許有時候過於嚴格),這裏預計會是這樣。你可能知道。 =) –

+0

也許對我來說英語的使用是相互矛盾的,用「我怎樣才能實現這個?」我的意思是:我依靠什麼(框架組件)在這方面取得成功?我找到的答案是activitygroup .. – frx08

回答

1

我找到了一個解決辦法:我把一個的ActivityGroup的tabhost裏面,像這樣:

public class DrillDownWrapper extends ActivityGroup { 
    private ArrayList<View> history; 
    public static DrillDownWrapper group; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     history = new ArrayList<View>(); 
     group = this; 

     //put the first listactivity 
     Intent i = new Intent(DrillDownWrapper.this, ListActivity.class); 
     View view = getLocalActivityManager().startActivity("ListActivity", i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)).getDecorView(); 
     replaceView(view); 
    } 

    public void replaceView(View v) { 
     history.add(v); 
     setContentView(v); 
    } 

    public void back() { 
     if(history.size() > 1) { 
      history.remove(history.size()-1); 
      setContentView(history.get(history.size()-1)); 
     } else { 
      finish(); 
     } 
    } 

    @Override 
    public void onBackPressed() { 
     DrillDownWrapper.group.back(); 
     return; 
    } 
} 

的listactivity你可以得到上下文內(即顯示一個對話框)調用的getParent()方法