سؤال

لدي مشكلة في فئة "العارض". يمكنني استخدام "Viewholder" لتحسين خطاب العرض الخاص بي. أعتقد أن الكود على ما يرام، لكنه يرمي استثناء عندما أستخدم "Settext" مع البيانات من "المؤشر". هنا هو رمزي:

if(row==null){
            LayoutInflater inflater = LayoutInflater.from(context);         
            row = inflater.inflate(R.layout.sbooks_row, null);
            holder = new ViewHolder();

            holder.id = (TextView)row.findViewById(R.id.id);
            holder.title = (TextView)row.findViewById(R.id.title);
            holder.icon = (ImageView)row.findViewById(R.id.icon);

            row.setTag(holder);
        }
        else
        {
            holder = (ViewHolder)row.getTag();
        }

        holder.title.setText(cursor.getString(cursor.getColumnIndex(SBooksDbAdapter.KEY_TITLE)));
        holder.id.setText(cursor.getString(cursor.getColumnIndex(SBooksDbAdapter.KEY_ROWID)));
هل كانت مفيدة؟

المحلول

أنت لا تقول ما هو الاستثناء. انا ذاهب الى تخمين أنه NullPointerException, ، مما يعني إما:

  1. ليس لديك عنصر واجهة مستخدم في صفك android:id="@+id/title", ، أو
  2. ليس لديك عمود في مجموعة النتائج المسماة SBooksDbAdapter.KEY_TITLE, ، أو
  3. بطريقة ما تقوم بإنشاء صفوف بدون حامل في علاماته
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top