【问题标题】:button do not get invisible on click of row in listview单击列表视图中的行时按钮不会变得不可见
【发布时间】:2015-12-05 04:03:03
【问题描述】:

我希望当我单击 listview 行时,一个按钮应该可见,而当我再次单击同一行时,该按钮应该消失。第一次点击按钮出现,但再次点击它并没有变得不可见。在日志中我可以看到“不可见”,但不是另一个。

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();
        }
    });

【问题讨论】:

  • 尝试在 getView() 中创建 intilize button1。像 Button button1 = (Button)v.findViewById(R.id.button1);
  • 点击时初始化button1,这样你就可以在lv.setOnItemClickListener之外初始化button1
  • 当我再次点击行时,它甚至没有进入 onItemClick 方法。我应用了日志然后观察这个
  • @Loren 你能发布新代码吗?
  • @Vasilisfoo 使用此代码我只能发现日志中的值为 false

标签: android listview button


【解决方案1】:

试试:

button1.setVisiblity(View.GONE);

来自Android Documentation

View.GONE 这个视图是不可见的,它不占用任何空间用于布局。

View.INVISIBLE 这个视图是不可见的,但它仍然占用空间用于布局。

【讨论】:

  • 它甚至没有进入那个方法括号
【解决方案2】:

取一个布尔值 让我们来

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 内部

【讨论】:

  • 不工作.. :(同样它变得可见但不可见
  • button1 = (Button)v.findViewById(R.id.button1);在外面使用这个
  • 为什么要使用 button1 = (Button)v.findViewById(R.id.button1);在你的 onitemclick ??
  • 你的按钮是否在列表视图的项目中??如果是,那么在你的适配器类中使用这个逻辑
  • 我的按钮在 listview 的项目中,它与我声明列表的类是分开的。
猜你喜欢
  • 2016-12-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-03-17
  • 2019-12-13
  • 2020-08-21
相关资源
最近更新 更多