Android 在网格视图中仅查看特定项目

Android 在网格视图中仅查看特定项目,android,gridview,adapter,Android,Gridview,Adapter,嘿,我正在尝试查看网格视图中id小于100的特定项目。这是我的适配器类,但由于某些原因,它不工作并显示所有项。 登录了id,他们都很好 public View getView(int position, View convertView, ViewGroup parent) { PreviousViewHolder holder = null; ServerFeed previousDayRank = getItem(position); LayoutInflater

嘿,我正在尝试查看网格视图中id小于100的特定项目。这是我的适配器类,但由于某些原因,它不工作并显示所有项。 登录了id,他们都很好

public View getView(int position, View convertView, ViewGroup parent) {
    PreviousViewHolder holder = null;
    ServerFeed previousDayRank = getItem(position);

    LayoutInflater layoutInflater = (LayoutInflater) context.getSystemService(Activity.LAYOUT_INFLATER_SERVICE);
    if (convertView == null) {
        if (previousDayRank.getId() < 100) {
            convertView = layoutInflater.inflate(R.layout.popular_discover_list_item, null);
            holder = new PreviousViewHolder(convertView);
            convertView.setTag(holder);
        } else {
            convertView = layoutInflater.inflate(R.layout.null_item, null);
            holder = new PreviousViewHolder(convertView);
            convertView.setTag(holder);
        }

    } else {

        holder = (PreviousViewHolder) convertView.getTag();
        holder.setImageUrl(getContext(), previousDayRank.getName(), previousDayRank.getId());
    }
    return convertView;

}
public View getView(int位置、视图转换视图、视图组父视图){
PreviousViewHolder=null;
ServerFeed previousDayRank=getItem(位置);
LayoutInflater LayoutInflater=(LayoutInflater)context.getSystemService(Activity.LAYOUT\u INFLATER\u SERVICE);
if(convertView==null){
if(previousDayRank.getId()<100){
convertView=LayoutFlater.充气(R.layout.popular\u discover\u list\u项,空);
holder=新的先前视图holder(convertView);
convertView.setTag(支架);
}否则{
convertView=LayoutFlater.充气(R.layout.null\u项,null);
holder=新的先前视图holder(convertView);
convertView.setTag(支架);
}
}否则{
holder=(PreviousViewHolder)convertView.getTag();
setImageUrl(getContext(),previousDayRank.getName(),previousDayRank.getId());
}
返回视图;
}

我尝试了varieos链接,但它们并没有真正帮助您改变getView方法,就像这样

    public View getView(int position, View convertView, ViewGroup parent)                {
        PreviousViewHolder holder = null;
        ServerFeed previousDayRank = getItem(position);

        LayoutInflater layoutInflater = (LayoutInflater) context.getSystemService(Activity.LAYOUT_INFLATER_SERVICE);
        if (convertView == null) {           
 convertView = layoutInflater.inflate(R.layout.popular_discover_list_item, null);
                holder = new PreviousViewHolder(convertView);
                convertView.setTag(holder);
            } else {

                holder = (PreviousViewHolder)convertView.getTag();

            }

        if(previousDayRank.getId() < 100){
        holder.setImageUrl(getContext(), previousDayRank.getName(), previousDayRank.getId());}
       return convertView;
    }
public View getView(int位置、视图转换视图、视图组父视图){
PreviousViewHolder=null;
ServerFeed previousDayRank=getItem(位置);
LayoutInflater LayoutInflater=(LayoutInflater)context.getSystemService(Activity.LAYOUT\u INFLATER\u SERVICE);
如果(convertView==null){
convertView=LayoutFlater.充气(R.layout.popular\u discover\u list\u项,空);
holder=新的先前视图holder(convertView);
convertView.setTag(支架);
}否则{
holder=(PreviousViewHolder)convertView.getTag();
}
if(previousDayRank.getId()<100){
holder.setImageUrl(getContext(),previousDayRank.getName(),previousDayRank.getId());}
返回视图;
}

在传递到addapter之前,只需过滤数据即可。就这样,

for(ServerFeed item : mServerFeeds){if(item.getId() > 100) mServerFeeds.remove(item);}

在代码中调用此方法-

public int getItemPosition(long id)
{
for (int position=0; position<100; position++)
    if (mList.get(position).getId() == id)
        return position;
return 0;
}  
public int getItemPosition(长id)
{

对于(int position=0;position我可以知道在运行代码后发生了什么吗?您可以在将数据集设置为adapter之前对其进行筛选,因为adapter将填充视图的数据量与GetItemCount中调用的数据量相同。它显示了所有项。在中,而不仅仅是id小于100的项@YuvaanChauhanhey,您的代码运行时,它不会显示这些项项目,但它仍然有那些项目是要删除他们只是不可见