آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

listview error

محسن  10 سال پیش  10 سال پیش
0 0

سلام من طبق اموزش listview پیش رفتم ولی موقع run  کردن با error زیر مواجه میشم

 E/AndroidRuntime(1968): FATAL EXCEPTION: main
E/AndroidRuntime(1968):java.lang.ClassCastException: android.widget.LinearLayout cannot be cast to android.widget.TextView
E/AndroidRuntime(1968):at zarei.mohsen.course.app.Text_note.AdapterNote$ViewHolder.<init>(AdapterNote.java:26) E/AndroidRuntime(1968):     at zarei.mohsen.course.app.Text_note.AdapterNote.getView(AdapterNote.java:47)
: E/AndroidRuntime(1968):     at android.widget.AbsListView.obtainView(AbsListView.java:2159)
 E/AndroidRuntime(1968):     at android.widget.ListView.measureHeightOfChildren(ListView.java:1246)
 E/AndroidRuntime(1968):     at android.widget.ListView.onMeasure(ListView.java:1158)
 E/AndroidRuntime(1968):     at android.view.View.measure(View.java:15518)
 E/AndroidRuntime(1968):    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4825)
E/AndroidRuntime(1968):  at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1404)
 E/AndroidRuntime(1968):     at android.widget.LinearLayout.measureVertical(LinearLayout.java:695)
E/AndroidRuntime(1968):     at android.widget.LinearLayout.onMeasure(LinearLayout.java:588)

 

0 0
شما توی آداپترتون در خط 26 خطایی دارید، برنامه نمیتونه اون الوارهایی که استاد توضیح دادند رو بسازه، کدتون رو بزارید تا مشکلش رو بتونیم رفع کنیم (10 سال پیش)
 برای این سوال 2 پاسخ وجود دارد.
پاسخ به سوال 
محسن  10 سال پیش
0 0

ackage zarei.mohsen.course.app.Text_note;

import java.util.ArrayList;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.CheckBox;
import android.widget.TextView;


public class AdapterNote extends ArrayAdapter<StructNote> {

    public AdapterNote(ArrayList<StructNote> array) {
        super(G.context, R.layout.adapter_note, array);
    }


    private static class ViewHolder {

        public TextView txtTitle;
        public TextView txtDesc;
        public CheckBox chkDone;


        public ViewHolder(View view) {
            txtTitle = (TextView) view.findViewById(R.id.txtTitle);
            txtDesc = (TextView) view.findViewById(R.id.txtDesc);
            chkDone = (CheckBox) view.findViewById(R.id.chkDone);
        }


        public void fill(ArrayAdapter<StructNote> Adapter, StructNote item, int position) {
            txtTitle.setText(item.title);
            txtDesc.setText(item.Desc);
            chkDone.setChecked(item.done);
        }
    }


    @Override
    public View getView(int position, View convertView, ViewGroup parent) {

        ViewHolder holder;
        StructNote item = getItem(position);
        if (convertView == null) {
            convertView = G.inflater.inflate(R.layout.adapter_note, parent, false);
            holder = new ViewHolder(convertView);
            convertView.setTag(holder);
        } else {
            holder = (ViewHolder) convertView.getTag();
        }

        holder.fill(this, item, position);
        return convertView;
    }
}

0 0
من فکر میکنم شما اشتباهی بجای اینکه به textview آیدی داده باشید به لایه‌ی LinearLayoutی که شامل اون هست ID دادین. (10 سال پیش)
پاسخ به سوال 
محسن  10 سال پیش
0 0

بله درست بود ممنون

 

من ی مشکل دیگه هم دارم توی logcat توی قسمتی که ی تیکه از اسم pakage رو مینویسیم تا لاگای مربوط به برنامه رو نشون بده

نشون نمیده و روی error ها هم ک کلیک میکنم که خط مربوط بهشونو نشون بده نشون نمیده باید چیکار کنم

 


پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .