java.lang.IllegalArgumentException:不能具有viewTypeCount <1

pkelly:

我收到此错误:

java.lang.IllegalArgumentException: Can't have a viewTypeCount < 1

我很确定我完全知道是什么原因造成的,但是我不知道如何解决它。

我的应用程序从数据库中加载用户朋友。当用户至少有1个朋友可以放入列表视图时,就可以了。当用户是全新用户并且还没有朋友时,该应用程序将崩溃,因为listview的计数为0。

这仅仅是错误处理的情况吗?

如果我没有发布所有必要的相关代码,请告诉我!

这是我的适配器:

public class MyAdapter extends ArrayAdapter<HashMap<String, String>> {

    Context context;
    int resourceId;
    LayoutInflater inflater;
    private Context mContext;

    @Override

    public int getViewTypeCount() {                 

        return getCount();
    }

    @Override
    public int getItemViewType(int position) {

        return position;
    }


    ArrayList<HashMap<String, String>>  items;
    public MyAdapter (Context context, int resourceId, ArrayList<HashMap<String, String>> items)
    {
        super(context, resourceId, items);
        mContext = context;
        this.items =items;
        inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent){
        final ViewHolder holder;
        if (convertView == null){

            convertView = inflater.inflate(R.layout.list_item, null);

            holder = new ViewHolder();
            holder.fbphoto = (ImageView)convertView.findViewById(R.id.fbphoto);
            holder.name = (TextView)convertView.findViewById(R.id.name);

   convertView.setTag(holder);

        } else {

            holder = (ViewHolder)convertView.getTag();
        }



        final HashMap<String,String> item = (HashMap<String,String> ) items.get(position);
        if (item != null)
        {

            String facebookProfilePicUrl = "https://graph.facebook.com/"+item.get(TAG_FACEBOOKID)+"/picture?width=150&height=150";

            Picasso.with(mContext)
            .load(facebookProfilePicUrl)
            .placeholder(R.drawable.no_image)
            .into(holder.fbphoto);

holder.name.setText(item.get(TAG_USERNAME));

 }

        return convertView;
    }

    public class ViewHolder
    {
        ImageView fbphoto;
        TextView    name;

    }
}
米歇尔:

我认为您错过了ViewTypeCount的观点。您应该在列表中返回“不同视图类型”的数量。这对于回收列表中的视图很重要。

成像您有两种类型的Listitems,一种具有白色背景,一种具有黑色背景。当您以ViewTypeCount返回2时,Listview知道还可以,有2种Listitems,并且不会在getView视图回收中混淆它们。

所以只需使用:

   public int getViewTypeCount() {                 
        return 1;
    }

或根本不重写该方法。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

java.lang.IllegalArgumentException异常:@url不能与@GET URL被使用(参数#1)

RuntimeException:具有MainActivity.onStart的java.lang.IllegalArgumentException

java.lang.IllegalArgumentException异常:不能没有任何verificationProof,sessionInfo,ortemprary证明创建PhoneAuthCredential

java.lang.IllegalArgumentException:不能有replace块。对于动态查询参数,请使用@Query

java.lang.IllegalArgumentException:无法找到具有给定名称的Attribute

java.lang.IllegalArgumentException:无法在具有形状的TensorFlowLite张量之间进行复制

Java Hibernate java.lang.IllegalArgumentException:参数位置未知:1

java.lang.IllegalArgumentException:SQL 数组不能为空

OrientDB:java.lang.IllegalArgumentException 属性值不能为空

java.lang.IllegalArgumentException:方法不能为null

java.lang.IllegalArgumentException:迭代变量不能为null

java.lang.IllegalArgumentException:主机名不能为null

java.lang.ArrayIndexOutOfBoundsException: 1 >= 1

面对 java.lang.IllegalArgumentException

java.lang.IllegalArgumentException onActivityResult

错误:java.lang.IllegalArgumentException

java.lang.IllegalArgumentException:URL“ https:/ my url / api / login /”不包含“ {username}”。(参数1)

java.lang.IllegalArgumentException:建议的分辨率映射缺少相机1的分辨率

线程“主”中的异常java.lang.IllegalArgumentException:超出允许范围(0..1048575)的无效行号(-1)

java.lang.IllegalArgumentException:setShowActionsInCompactView:动作1超出范围(最大0)

线程“StreamThread-1”中的 Kafka-Stream 异常 java.lang.IllegalArgumentException:无效的时间戳 -1

java.lang.NumberFormatException: Invalid int: "1"

“线程1” java.lang.IndexOutOfBoundsException

不兼容的类型:推断变量T具有不兼容的边界相等约束:捕获的#1?扩展java.lang.Object

java.lang.IllegalArgumentException:没有枚举const类

java.lang.IllegalArgumentException:带有改型的非法URL

java.lang.IllegalArgumentException:ViewPager没有设置PagerAdapter

具有相同返回类型的@Named提供程序最终会给出java.lang.IllegalArgumentException:重复

具有RecyclerView的片段:java.lang.IllegalArgumentException:废弃或附加的视图可能无法回收。isScrap:false isAttached:true