我有一个列表视图,其中列表的每一行都包含一个按钮。
基于一个字段,我想让这个按钮不可见。
我的适配器内的 getView 方法如下所示。
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
Activity activity = (Activity) getContext();
View view = convertView;
if (convertView == null) {
LayoutInflater inflater = activity.getLayoutInflater();
view = inflater.inflate(R.layout.listrow, null);
}
final Details details = getItem(position);
Button btn = (Button) view.findViewById(R.id.btn);
if(details.check()) {
btn.setVisibility(View.INVISIBLE);
}
}
当我加载此页面时,数据正确。但是,当简单地滚动该列表时,该按钮就会变得不可见。这是什么原因呢?当我删除它时if
部分,那么即使我滚动,我也会获得所有行的按钮。给有什么问题吗invisible
inside getView()
。请回复。提前致谢。
添加以下内容:
if(details.check()) {
btn.setVisibility(View.INVISIBLE);
}
else {
btn.setVisibility(View.VISIBLE);
}
而且……最好用
LayoutInflater.from(getContext())
代替activity.getLayoutInflater()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)