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

این خطا رو ببینید(کمک کنید)

MJZ376  12 سال پیش  12 سال پیش
0 0

سلام

توی برنامم یه کلاس سرچ گزاشتم که بین اعضای دیتابیس سرچ میکنه

و یه EditText هم توش قرار داره 

وقتی توی EditText کلمه ای مینویسم تا سرچ کنه

این کرش رو انجام میده

  java.lang.IllegalStateException: Observer android.widget.AdapterView$AdapterDataSetObserver@44f0b078 was not registered.

اینم کد کلاس سرچ

 public class search extends ListActivity {

    DBAdapter         db;
    List<soal_pasokh> soalha;
    ListView          lst;
    EditText          search;
    RadioButton       nam;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.search);

        db = new DBAdapter(getBaseContext());
        db.open();
        lst = getListView();

        search = (EditText) findViewById(R.id.search);
        nam = (RadioButton) findViewById(R.id.nam_search);
        //RadioButton name = (RadioButton) findViewById(R.id.name_search);

        search.addTextChangedListener(new TextWatcher() {

            @Override
            public void onTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) {
                // TODO Auto-generated method stub

            }


            @Override
            public void beforeTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) {
                // TODO Auto-generated method stub

            }


            @Override
            public void afterTextChanged(Editable arg0) {
                // TODO Auto-generated method stub

                try {
                    if (nam.isChecked()) {
                        soalha = db.findContacts(search.getText().toString(), DBAdapter.KEY_SOAL);
                    } else {
                        soalha = db.findContacts(search.getText().toString(), DBAdapter.KEY_SOAL);

                    }
                }
                catch (SQLException e) {
                    e.printStackTrace();
                }
                refreshDisplay();
            }
        });

    }


    @Override
    protected void onListItemClick(ListView l, View v, int position, long id) {
        // TODO Auto-generated method stub
        super.onListItemClick(l, v, position, id);

        soal_pasokh soal_pasokh = soalha.get(position);

        Intent next = new Intent(this, showSoal.class);
        next.putExtra("thissoal", soal_pasokh);
        startActivity(next);

    }


    public void refreshDisplay() {

        try {

            ArrayAdapter<soal_pasokh> adapter = new soal_pasokhAdapter(this, soalha);
            setListAdapter(adapter);
        }
        catch (NullPointerException e) {
            e.printStackTrace();
        }

    }


    @Override
    protected void onResume() {
        // TODO Auto-generated method stub
        super.onResume();

        if (nam.isChecked()) {
            soalha = db.findContacts(search.getText().toString(), DBAdapter.KEY_SOAL);
        } else {
            soalha = db.findContacts(search.getText().toString(), DBAdapter.KEY_SOAL);

        }
        db.open();
        refreshDisplay();
        db.close();
    }
}

 

 

وقتی از قسمت خطاها روی اسم پروژه کلیک میکنم میگه این خط

 setListAdapter(adapter);

که توی refreshDisplay قرار داره مشکل داره

اما نمیدونم چجوری برطرفش کنم

ممنون میشم کمک کنید

0 0
خط اول ارورت همینه؟ اولین اسم پکیجت هم همینه؟ منظورم اینه که احتمالا مشکل توی کدهای آداپترته. ارور های logcat رو کامل بذار (12 سال پیش)
 برای این سوال پاسخی وجود ندارد.

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