關於listview.setAdapter(adapter)程序閃退、崩潰問題的原因

最近按照一個視頻寫了一個自定義Adapter,但是運行的時候會在使用istview.setAdapter(adapter)時APP閃退,學習視頻鏈接:

https://www.imooc.com/video/7264

然後搜索了一下發現有人提到去掉context == null就可以了,我去掉之後發現真的是這個原因,但是不明白爲什麼要去掉


    public static ViewHolder get(Context context,View convertView,ViewGroup parent,int layoutId,int position) {
//        if (context == null){
            return  new ViewHolder(context,parent,layoutId,position);
//        }else {
//            ViewHolder holder = (ViewHolder) convertView.getTag();
//            holder.mPosition = position;
//            return holder;
//        }
    }
就是把上面的有註釋的代碼註釋掉就可以了,歡迎各位大佬解答爲什麼去掉就可以了,因爲學習視頻裏面是不需要去掉的

------------------------------------------------------------------------------------------------------------------------------------------------------------------------

找到原因了,是看視頻不認真,應該是判斷convertView == null,convertView是View,context是上下文,搞錯了,引以爲戒

    public static ViewHolder get(Context context,View convertView,ViewGroup parent,int layoutId,int position) {
        if (convertView == null){
            return  new ViewHolder(context,parent,layoutId,position);
        }else {
            ViewHolder holder = (ViewHolder) convertView.getTag();
            holder.mPosition = position;
            return holder;
        }
    }

 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章