在列表项中有两个按钮buton1和button2。
在按钮1上单击我想仅显示该行的button2。
这是通过将button2的实例设置为button1的标签,然后在button1的onClickListener上使用getTag获取button1并更改其可见性来实现的。
Q1:有更好的方法吗?
Q2:在滚动时,由于我使用视图持有者模式并重新使用行,因此列表中某些行中其他位置显示的按钮2将被关闭。
任何?
答案 0 :(得分:1)
您需要在Adapter的getView回调中处理它。类似的东西:
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View v = convertView;
LayoutInflater vi;
vi = LayoutInflater.from(getContext());
v = vi.inflate(R.layout.itemlistrow, null);
Button button1 = (Button) v.findViewById(R.id.button1);
Button button2 = (Button) v.findViewById(R.id.button2);
button1.setOnClickListener(new OnClickListener() {
public void onClick(View v)
{
button2.setVisibility(View.VISIBLE);
}
});
return v;
}