我有一个布局,其中前四分之一始终相同,但下半部分需要使用特定于所表示对象状态的“子布局”。
我可以使用“父”布局和几种特定于州的布局来实现这一目标吗?
(特定于州的布局可以在运行时嵌入父布局中,或者每个子布局都可以“包含”父布局。)
答案 0 :(得分: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);