我有一个列表视图。我在listview中实现的是,当用户点击列表项时,2按钮视图会膨胀,以替换该列表项的内容,如下所示:
这很好但我想要的是当我点击第二个列表项时,第一个列表项应该回到原来的布局。目前,它是这样的:
这是我在listview的onClick方法中实现的代码:
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
TextView planName = view.findViewById(R.id.planNameText);
TextView planDate = view.findViewById(R.id.planDateText);
ImageView planImage = view.findViewById(R.id.homePlanImageView);
planName.setVisibility(View.INVISIBLE);
planDate.setVisibility(View.INVISIBLE);
planImage.setVisibility(View.INVISIBLE);
RelativeLayout rl_inflate = (RelativeLayout)view.findViewById(R.id.rl_inflate);
View child = getLayoutInflater().inflate(R.layout.inflate, null);
rl_inflate.addView(child);
}
});
感谢。
答案 0 :(得分:5)
也许你需要初始化一个布尔变量来检查是否被点击并刷新所有视图。我真的建议您使用 RecyclerView 并使用2 viewHolders 。如果您需要有关此支票的信息this。如果使用2个视图实现回收器,它将比您希望实现它的方式更容易,并且您可以使用 notifyDataSetChanged 来刷新回收器。无论如何,你无论如何都需要一个布尔值来检查是否被点击。