2015-08-22 98 views
-1

我有一個佈局,其中頂部季度始終相同,但下部需要使用特定於表示對象狀態的「子佈局」。根據對象狀態更改android「sublayout」

我可以使用「父」佈局和多個特定於狀態的佈局來實現嗎?

(特定國家的佈局既可以在運行時嵌入父佈局,或各子佈局的可能「包括」父佈局。)

+2

你爲什麼不能使用列表視圖用頭和一個孩子,併爲參考對象的行會,這將決定要顯示的視圖類型的狀態。 – Triode

+0

這可能是一種不必要的複雜情況,尤其是當狀態特定的sublayout需要處理點擊本身時。 – fadedbee

回答

0

考慮答案的反對票和缺乏,我擔心這是不可能的。事實證明,直截了當,一旦我添加了一個佔位符視圖到LinearLayout(在索引2)。

LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 

    ViewGroup linearLayout = (ViewGroup) view.findViewById(R.id.linearLayout); 

    int stateLayout; 
    switch (peer.commState) { 
     case IDLE: 
      stateLayout = R.layout.peer_idle; 
      break; 
     case REQUEST_MADE: 
      stateLayout = R.layout.peer_request_made; 
      break; 
     ... 
     default: 
      throw new AssertionError(); 
    } 

    linearLayout.removeViewAt(2); 
    View stateView = inflater.inflate(stateLayout, linearLayout, false); 
    linearLayout.addView(stateView);