как установить EditText с данными из базы данных SQLite - PullRequest
0 голосов
/ 18 сентября 2018

enter code here представление дизайна INFO_MAIN.xml

enter image description here

Я занимаюсь разработкой приложения android для своего школьного проекта.Таблица с именем «основная запись сырья» уже создана в database, и данные также вставлены.Пожалуйста, обратитесь к изображению выше, после того, как имя исходного материала введено в тексте редактирования перед сырьем (Textview), я хочу, чтобы тексты редактирования перед инфо1, инфо2, инфо3 были установлены с подсказками, значения которых будут получены изтаблица базы данных "мастер сырья".Я использовал приведенный ниже код для установки значений текста редактирования.

[IN INFO_MAIN.java]

 public void rawmat() {
        info1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String rawMat = rm.getText().toString(); //fetching text from 
                       //the edittext infront of raw material
                Cursor res = dbb.getInfo("Info1",rawMat);  //getinfo method is 
                        //in the database helper class , it is pasted below
                String info = res.getString(1);
                info1.setText(info);   // setting the edit text.
                res = dbb.getInfo("Info2",rawMat); // repeating the same 
                                     //procedure for the edittext of info2.
                info = res.getString(0);
                dbb.SetEt(info, info2);
                res = dbb.getInfo("Info3",rawMat);
                info = res.getString(0);
                dbb.SetEt(info, info3);
            }
        });
    }

[`IN DATABASEHELPER.java]

 public Cursor getInfo(String info,String rm)
    {
        SQLiteDatabase db=this.getReadableDatabase();
        Cursor res=db.rawQuery("select "+info+"from "+table_name1 + "where RawName ="+rm,null);
        res.moveToFirst();
        return res;
    }

 public void SetEt(String x, EditText et)
    {
        et.setHint(x);
    }`

Этокод не работаетНе могли бы вы помочь мне найти решение этой проблемы.

[после добавления наблюдателя текста для текста редактирования исходного материала]

 rm.addTextChangedListener(new TextWatcher() {
        @Override
        public void beforeTextChanged(CharSequence s, int start, int count, int after) {

        }

        @Override
        public void onTextChanged(CharSequence s, int start, int before, int count) {

        }

        @Override
        public void afterTextChanged(Editable s) {
            String rawMat = rm.getText().toString();
            Cursor res = dbb.getInfo("Info1", rawMat);
            String info = res.getString(1);
            info1.setText(info);
            res = dbb.getInfo("Info2", rawMat);
            info = res.getString(0);
            dbb.SetEt(info, info2);
            res = dbb.getInfo("Info3", rawMat);
            info = res.getString(0);
            dbb.SetEt(info, info3);
        }
    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...