【发布时间】: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