我有 3 个列表视图项目布局。通过重新打开活动,它可以在没有错误的情况下工作,但是如果我通过单击按钮添加项目,布局不会改变,因为行 != 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);
}
解决此问题的最简单方法是仅创建一个列表视图项: LinearLayout
具有vertical
方向和 3 个子项:
- R.layout.activity_chat_singlemessage_left,
- R.layout.activity_chat_singlemessage_center,
- R.layout.activity_chat_singlemessage
并在您的getView()
方法中根据给定条件显示相关布局并隐藏不应显示的布局。