@DeadRayder

Как подгрузить данные в AutoCompleteTextView?

Здравствуйте, снова столкнулся с проблемой адаптеров. Суть такая, что при запуске определенного фрагмента в AutoCompleteTextView должны загрузиться данные для того чтобы можно было найти определенное поле из БД. Я написал свой ArrayAdapter и с его помощью пытаюсь всю нужную мне информацию засунуть в AutoComplete. Вот код:
view = inflater.inflate(R.layout.fragment, null);

            ArrayList<Products> prodCollectionForSearch = new ArrayList<>();

            //prodCollectionForSearch = Query(SelectCityScreen.mCity);

            ResultSet rs1;
            try {
                Statement statement = MainActivity.connect.createStatement();
                rs1 = statement.executeQuery("select top 10 *\n" +
                        "from EXPORT_TABLE\n" +
                        "where City_name = 'Москва' AND Quantity = 1");

                while (rs1.next())
                {
                    prodCollectionForSearch.add(new Products(rs1.getString("Product_name")));
                }

                ArrayAdapterProduct prodAdapter = new ArrayAdapterProduct(getActivity(),prodCollectionForSearch);
                mAutoCompleteSearchProduct = (AutoCompleteTextView) view.findViewById(R.id.search_product_autoCompl);
                mAutoCompleteSearchProduct.setAdapter(prodAdapter);

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

Как я понимаю, адаптер заполняет AutoComplete, но если в него что-то вводить, то донаборщик ничего не подсказывает и нет никаких возможностей для выбора. Где я ошибся?
Ниже приведу классы ArrayAdapterProduct и Products
public class ArrayAdapterProduct extends ArrayAdapter<Products> {
    public ArrayAdapterProduct(Context context, ArrayList<Products> mProducts) {
        super(context,0, mProducts);
    }

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

        Products prod = getItem(position);

        if (convertView == null)
        {
            convertView = LayoutInflater.from(getContext()).inflate(R.layout.search_item, parent, false);
        }

        TextView mTextViewSearchProducts = (TextView) convertView.findViewById(R.id.txt_search_product);
        mTextViewSearchProducts.setText(prod.product_name);

        return convertView;
    }
}

public class Products {

    public String product_name;

    public Products(String product_name) {

        this.product_name = product_name;
    }

}
  • Вопрос задан
  • 248 просмотров
Пригласить эксперта
Ответы на вопрос 2
@DeadRayder Автор вопроса
К тому же, когда я пробовал работать с AutoComplete-ом в MainActivity, я в него просто передавал то же самый адаптер, который подгружал данные в ListView из БД и он сразу начинал работать, а тут никак...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы