Вопрос наверное слишком общий, но на конкретном примере моего кода может подскажите кто. У меня есть DialogFragment
:
final ListView mListHeads = headsView.findViewById(R.id.list_heads);
final EditText mSearchHead = headsView.findViewById(R.id.search_head);
final ViewPager mViewPager = getActivity().findViewById(R.id.container);
// Открываем базу данных
DBAssetHelper dbSetup = new DBAssetHelper(getActivity());
db = dbSetup.getWritableDatabase();
// Делаем запрос
try {
cursor = db.rawQuery("select * from " + "TABLE_QUESTION", null);
// Создаем адаптер
listAdapter = new SimpleCursorAdapter(
getActivity(),
R.layout.list_contents,
cursor,
new String[]{"QuestionNumber", "QuestionText"},
new int[]{R.id.text_one, R.id.text_two},
0);
if(!mSearchHead.getText().toString().isEmpty())
listAdapter.getFilter().filter(mSearchHead.getText().toString());
// установка слушателя изменения текста
mSearchHead.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) {
listAdapter.getFilter().filter(s.toString());
}
});
// Устанавливаем провайдер фильтрации
listAdapter.setFilterQueryProvider(new FilterQueryProvider() {
@Override
public Cursor runQuery(CharSequence constraint) {
if (constraint == null || constraint.length() == 0) {
return db.rawQuery("select * from " + "TABLE_QUESTION", null);
}
else {
return db.rawQuery("select * from " + "TABLE_QUESTION" + " where " +
"QuestionNumber" + "like ?", new String[]{"%" + constraint.toString() + "%"});
}
}
});
// Передаем адаптер нашему ListView
mListHeads.setAdapter(listAdapter);
} catch (Exception e) {
// В случае исключения выводим тост сообщение
Toast.makeText(getActivity(), "База данных недоступна", Toast.LENGTH_SHORT).show();
}
Где "like ?"
студия ругается, и предлагает добавить строку в String. Добавляю, а затем, в приложении пытаюсь произвести поиск но безрезультатно. Список глав отображается как положено, но если я вбиваю что-либо в EditText
ничего не происходит. Что я сделал не так?
Мда, отсутствовал пробел:
return db.rawQuery("select * from " + "TABLE_QUESTION" + " where " +
"QuestionNumber " + "like ?", new String[]{"%" + constraint.toString() + "%"});
После QuestionNumber
нужно было пробел поставить)
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Где можно найти документацию для создания приложений на java под винду? Пересмотрел много источниковНо не нашел ничего толкового
У меня новый ПК, ранее пользовался ноутбуком с семёркой, на компе десяткаСкачал JDK 8, установил, создал переменную JAVA_HOME и изменил переменную...
Ситуация такая : В проекте создал папку Converters и в нее добавил новый класс TagToImageSourceConverterВ Заголовке разметки добавил ссылку на эту папку вот...
Как отобразить изображения в ListView которые находятся в url?