在列表视图中跳过一行

我想为列表中的每个项调用getView() ,但我的问题是,如果与该行关联的数据为空,我们是否可以不显示该行。 我想只在getView ()执行此操作。

例如:

如果名称将在列表视图中显示的人员的警报为空。我不想在列表视图中显示该人员的姓名。

您可以在返回视图之前将该行的可见性设置为在最后一行中“消失” – 这应该对您有用。

编辑:如果内容不为null,请确保将可见性设置为可见 – 否则所有视图将在ListView重用视图时“消失”。

 myView.setVisibility((myData == null) ? View.GONE : View.VISIBLE); 

Hi Pals我尝试将可见性设置为隐形,但我仍然可以在列表视图中看到一个空行,所以我改变了一点,它根据我的需要工作,所以如果有人需要像我一样的结果,那么值得分享。

我使用List作为源我的要求是跳过几个应用程序,所以我做的是我从列表中删除该应用程序并通知数据集更改

 public AppListAdapter(Context context, List 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(位置);
notifyDataSetChanged();

我们随时欢迎您的建议和更正。
AzmatHunzai