Android ListView适配器稍后更改膨胀的布局

时间:2015-04-10 21:42:52

标签: android listview android-listview

我有3个listview项目布局。 通过重新打开活动,它可以正常工作,但如果我通过单击按钮添加项目,布局不会更改,因为行!= null。 我希望你能用我糟糕的英语来理解我。

        LayoutInflater inflater = null;
    int layout = 0;

    if(chatMessageObj.centered) {
        layout = R.layout.activity_chat_singlemessage_center;
    } else {
        layout = chatMessageObj.left ? R.layout.activity_chat_singlemessage_left : R.layout.activity_chat_singlemessage;
    }

    if (row == null) {
        inflater = (LayoutInflater) this.getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        row = inflater.inflate(layout, parent, false);
    }

1 个答案:

答案 0 :(得分:1)

解决此问题的最简单方法是只创建一个列表视图项:LinearLayout vertical方向和3个孩子:

- R.layout.activity_chat_singlemessage_left, - R.layout.activity_chat_singlemessage_center, - R.layout.activity_chat_singlemessage

并在您的getView()方法中根据给定条件显示相关布局并隐藏不应显示的布局。