не могу получить текст из автозаполнения

1

Мне нужно создать приложение в android с базой данных. В этой базе данных у меня есть предопределенный список продуктов.

Теперь дело в том, что мой ap должен предложить пользователю возможность представить в этом списке некоторые другие продукты, которых нет в списке.

С этой целью я создал текстовое представление автозаполнения, в котором я представляю новый продукт, и я беру текст для автозаполнения, и я должен записать его в базе данных

Теперь моя проблема заключается в том, что когда я показываю продукты, которые я представил в базе данных, тост-текст, который я использую для отображения того, что у меня есть в базе данных, не показывает мне ничего рядом с "продуктом......".

Теперь, может быть, потому что, когда я пытаюсь получить текст из автозаполнения, я ничего не получаю взамен?

Вот как я прочитал из автозаполнения:

mItem = (AutoCompleteTextView) findViewById(R.id.todo_edit_item);

String nou=mItem.getText().toString();

И затем я сравниваю nou (это то, что я написал в автозаполнении), с тем, что я предварительно предопределл в списке, поэтому, если это новый продукт (которого еще не было в списке), я добавляю его в базу данных

for(int i = 0; i < l; i++)

    {


       if (nou!=fruits[i])
                t=true;
        else t=false;

     }
    if (t==true)
    {
        db.insertTitle(nou);
        fruits=db.getAllfromDB("Fruits","fruit");
        l=l+1;
    }

Любые идеи о том, что я делаю неправильно здесь, потому что я не могу понять. Я буду здесь для дальнейших подробностей. Спасибо заранее:)

Теги:
database
list
text
autocomplete

1 ответ

0

Вы сравниваете строки, используя != вместо использования !nou.equals(fruits[i]). также вы сравниваете все элементы в массиве каждый раз, так как вы так t всегда являетесь значением сравнения с последним элементом в массиве, было ли совпадение найдено или нет.

Это должно быть написано так:

t = true;
for(int i = 0; i < l; i++)
{
   if (nou.equals(fruits[i]))
   {
            t=false;
            break;
   }
}
if (t==true)
{
    db.insertTitle(nou);
    fruits=db.getAllfromDB("Fruits","fruit");
    l=l+1;
}
  • 0
    Да, я понимаю, но я всегда добавляю что-то, чего нет в списке, и у меня всегда ничего не отображается .... Это правильно, как я читаю из автозаполнения? Thx
  • 0
    Ну, я пытался, но все равно ничего не отображалось ... и я на самом деле, потому что он не может прочитать из автозаполнения продукта, который я представляю
Показать ещё 6 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню