夸大listview项目的观点

时间:2018-02-13 09:31:49

标签: android listview

我有一个列表视图。我在listview中实现的是,当用户点击列表项时,2按钮视图会膨胀,以替换该列表项的内容,如下所示:

enter image description here

这很好但我想要的是当我点击第二个列表项时,第一个列表项应该回到原来的布局。目前,它是这样的:

enter image description here

这是我在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);

        }
    });

感谢。

1 个答案:

答案 0 :(得分:5)

也许你需要初始化一个布尔变量来检查是否被点击并刷新所有视图。我真的建议您使用 RecyclerView 并使用2 viewHolders 。如果您需要有关此支票的信息this。如果使用2个视图实现回收器,它将比您希望实现它的方式更容易,并且您可以使用 notifyDataSetChanged 来刷新回收器。无论如何,你无论如何都需要一个布尔值来检查是否被点击。