我猜getView()
被调用列表中的每个项目,但我的问题是,如果与该行关联的数据为空,我们是不是可以显示该行?我只想在getView()
之内这样做。跳过列表视图中的一行
例如:
如果警报一个人的名字在列表视图中显示的null.I不想显示该人的列表视图名称。
我猜getView()
被调用列表中的每个项目,但我的问题是,如果与该行关联的数据为空,我们是不是可以显示该行?我只想在getView()
之内这样做。跳过列表视图中的一行
例如:
如果警报一个人的名字在列表视图中显示的null.I不想显示该人的列表视图名称。
在返回视图之前,您可以将该行的visibility设置为在最后一行中“消失” - 这应该适合您。
编辑:如果内容不为空,请确保将可见性设置为可见 - 否则当ListView重用视图时,所有视图都将“消失”。
myView.setVisibility((myData == null) ? View.GONE : View.VISIBLE);
嗨帕尔斯我试着设置知名度,无形的,但我仍可以看到在ListView一个空行,所以我改变一点点,并根据我的需要,因此值得分享,如果有人需要类似的结果,像它的工作矿。
我使用名单源我的要求是跳过一些应用程序,因此我所做的是我删除从列表应用和通知数据集变化的
public AppListAdapter(Context context, List<ApplicationInfo> appList) {
this.context = context;
this.appList = appList;
inflater = LayoutInflater.from(context);
localStorage = new LocalStorage(context);
pm = context.getPackageManager();
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if (convertView == null)
convertView = inflater.inflate(R.layout.applist_item, parent, false);
// Other lines of code
if(appName.length()==0 || getItem(position).packageName.equals("package.name.to.skip")) {
appList.remove(position);
notifyDataSetChanged();
}
return convertView;
}
线关注
appList.remove(position);
notifyDataSetChanged();
总是欢迎您的建议和更正。
AzmatHunzai
为什么不在过滤发送给listview之前的人? –
是的,我已经做到了..但我想知道是否有一种方法,我们可以在getView()..中做到这一点? – Rookie
你不能。在将适配器提交到列表视图之前,您必须先筛选值 – Blackbelt