单击列表视图中的行时,按钮不会隐藏

时间:2015-09-09 09:00:22

标签: android listview button

我希望当我点击列表视图行时,按钮应该可见,当我再次点击同一行时该按钮应该消失。在第一次单击按钮出现但再次点击它不会变得不可见。在日志中我可以看到"不可见"但不是另一个。

lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        public void onItemClick(AdapterView<?> list, View v, int pos, long id) {
  System.out.println("I clicked row item");
        Button  button1 = (Button)v.findViewById(R.id.button1);
        if(!shouldVisible)//IF IT IS invISIBLE
        {
            System.out.println("value is"+shouldVisible);
        button1.setVisibility(View.VISIBLE);
        shouldVisible = false;
        }
        else //IF IT IS NOT inVISIBLE
        {
            System.out.println(shouldVisible);
            button1.setVisibility(View.INVISIBLE);
        shouldVisible = true;
        }
            Toast.makeText(getActivity(), "YOU CLICKED ITEM "+pos,Toast.LENGTH_SHORT).show();
        }
    });

2 个答案:

答案 0 :(得分:1)

拿一个布尔值 让我们来看看

private boolean shouldVisible;

在你的onitemclick中 你可以做以下事情

if(!shouldVisible)
{
yourButton.setVisiblity(View.VISIBLE);
shouldVisible = true;
}
else
{
yourButton.setVisiblity(View.GONE);
shouldVisible = false;
}

Button button1;

在外面使用

并使用此

button1 = (Button)v.findViewById(R.id.button1);

在onitemclick内部

答案 1 :(得分:-1)

尝试:

button1.setVisiblity(View.GONE);

来自Android Documentation

  

View.GONE此视图不可见,并且不需要任何空间用于布局。

     

View.INVISIBLE此视图不可见,但仍会占用空间以进行布局。