我有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);
}
答案 0 :(得分:1)
解决此问题的最简单方法是只创建一个列表视图项:LinearLayout
vertical
方向和3个孩子:
- R.layout.activity_chat_singlemessage_left,
- R.layout.activity_chat_singlemessage_center,
- R.layout.activity_chat_singlemessage
并在您的getView()
方法中根据给定条件显示相关布局并隐藏不应显示的布局。