根据对象状态更改android“sublayout”

时间:2015-08-22 05:40:07

标签: android android-layout

我有一个布局,其中前四分之一始终相同,但下半部分需要使用特定于所表示对象状态的“子布局”。

我可以使用“父”布局和几种特定于州的布局来实现这一目标吗?

(特定于州的布局可以在运行时嵌入父布局中,或者每个子布局都可以“包含”父布局。)

1 个答案:

答案 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);