我试图在适配器的getView方法中隐藏按钮。不幸的是,我无法做到。
private class AppListAdapter extends ArrayAdapter<Info> {
public AppListAdapter(Activity activity, List<Info> apps) {
super(activity, android.R.layout.simple_list_item_1, apps);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// if we weren't given a view, inflate one
if (null == convertView) {
convertView = getLayoutInflater()
.inflate(R.layout.activity_apps, null);
}
btnUninstall = (Button) convertView.findViewById(R.id.uninstallButton);
btnUninstall.setOnClickListener(
new View.OnClickListener() {
@Override
public void onClick(View v) {
btnUninstall.setVisibility(View.INVISIBLE);
}
}
);
return convertView;
}
}
任何帮助都应该受到赞赏?
答案 0 :(得分:2)
尝试更改此行
btnUninstall.setVisibility(View.INVISIBLE);
到此
v.setVisibility(View.INVISIBLE);
答案 1 :(得分:0)
我检查了代码,它对我来说很好用。 嘿,快问题,你有没有在任何地方声明你的btnUninstall? 我无法在您提供的代码中看到它,就是所有。
Button btnUninstall;
答案 2 :(得分:0)
那是因为在适配器中android一遍又一遍地传递相同的视图(回收),尝试每次都将按钮的可见性设置为可见。