मैं हो रही है इस त्रुटि:java.lang.IllegalArgumentException: एक viewTypeCount नहीं हो सकता <1
java.lang.IllegalArgumentException: Can't have a viewTypeCount < 1
मैं बहुत क्या यह पैदा यकीन है कि मैं ठीक-ठीक पता हूँ, लेकिन मैं पता नहीं कैसे ठीक करना।
मेरा ऐप डेटाबेस से उपयोगकर्ताओं को लोड करता है। जब उपयोगकर्ता के पास सूची दृश्य में कम से कम 1 मित्र होता है, तो यह ठीक है। जब उपयोगकर्ता बिल्कुल नया होता है और उसके पास अभी तक कोई दोस्त नहीं है, तो ऐप क्रैश हो जाता है क्योंकि सूचीदृश्य की संख्या 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;
}
}
'getViewTypeCount() 'को आपके पास दृश्य प्रकारों की संख्या वापस करनी चाहिए, न कि पंक्तियों की संख्या। आपका 'getView() 'लागू करने वाला केवल एक प्रकार का दृश्य देता है, इसलिए' getViewTypeCount() 'को' 1' वापस करना चाहिए। 'ListAdapter' दृश्य प्रकारों के बारे में और पढ़ें। –
मैं इसे गलत तरीके से पढ़ता हूं "जब उपयोगकर्ता बिल्कुल नया होता है और उसके पास अभी तक कोई दोस्त नहीं है, तो ऐप क्रैश हो जाता है क्योंकि सूचीदृश्य की संख्या 0. है, क्या यह केवल त्रुटि प्रबंधन का मामला है?" और पहले http://stackoverflow.com/questions/20517922/custom-rows-in-listview-with- कस्टम- एडाप्टर पर एक गलत उत्तर पोस्ट किया। लिंक में आपके पास 3 अलग-अलग विचार हैं और इसलिए GetViewTypeCount वापसी 3. जब सूची खाली होती है तो आप एक खाली दृश्य दिखा सकते हैं http://developer.android.com/reference/android/widget/AdapterView.html#setEmptyView(android.view ।राय) – Raghunandan