Я пытаюсь построить опцию поиска с помощью TextWatcher В списке. После показанных результатов, как сделать результаты доступными? Я могу добавить Onitemclick в listview, но это не помогает, это не делает результаты доступными.Добавить клик к результатам TextWatcher
ответ
Попробуйте использовать нижеследующий код для справки.
public class AndroidListViewFilterActivity extends Activity {
ArrayAdapter<String> dataAdapter = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//Generate list View from ArrayList
displayListView();
}
private void displayListView() {
//Array list of countries
List<String> countryList = new ArrayList<String>();
countryList.add("India");
// .. добавить несколько страна здесь
//create an ArrayAdaptar from the String Array
dataAdapter = new ArrayAdapter<String>(this,
R.layout.country_list, countryList);
ListView listView = (ListView) findViewById(R.id.listView1);
// Assign adapter to ListView
listView.setAdapter(dataAdapter);
//enables filtering for the contents of the given ListView
listView.setTextFilterEnabled(true);
listView.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
// When clicked, show a toast with the TextView text
Toast.makeText(getApplicationContext(),
((TextView) view).getText(), Toast.LENGTH_SHORT).show();
}
});
EditText myFilter = (EditText) findViewById(R.id.myFilter);
myFilter.addTextChangedListener(new TextWatcher() {
public void afterTextChanged(Editable s) {
}
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
public void onTextChanged(CharSequence s, int start, int before, int count) {
dataAdapter.getFilter().filter(s.toString());
}
});
}
}
main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" android:layout_height="fill_parent"
android:orientation="vertical">
<TextView android:layout_width="fill_parent"
android:layout_height="wrap_content" android:padding="10dp"
android:text="@string/some_text" android:textSize="20sp" />
<EditText android:id="@+id/myFilter" android:layout_width="match_parent"
android:layout_height="wrap_content" android:ems="10"
android:hint="@string/some_hint">
<requestFocus />
</EditText>
<ListView android:id="@+id/listView1" android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>
row.xml файл
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="10dp"
android:textSize="16sp" >
</TextView>
Этот код работает отлично для меня ,
Но нажав на элемент listview, он не будет выполнять другую операцию во время поиска. –
В адаптере попробуйте использовать textView onClick & TextView onClick(), чтобы установить выделенный текст в EditText –
. Не могу получить его. опишите, пожалуйста, @MaheshwarLigade –
- 1. рельсы - добавить к результатам activerecord
- 2. sql добавить к результатам поиска
- 3. LINQ - Добавить свойство к результатам
- 4. Как добавить еще .. к результатам поиска
- 5. Hibernate/SQL добавить имена/ключи к результатам
- 6. Как добавить приращение к результатам mysql php
- 7. Как добавить места Digit к моим результатам?
- 8. доктрина - добавить объединенное поле к результатам
- 9. Запрос Linq: добавить столбец к результатам запроса
- 10. добавить счетчик к результатам запроса SELECT
- 11. MySQL: Динамически добавить столбцы к результатам запроса
- 12. Доступ к результатам mysql_query
- 13. jQuery - добавить клик к передней части очереди
- 14. Добавление к результатам запроса
- 15. Перейти к результатам голосования
- 16. Присоединение к результатам ajax?
- 17. Присоединиться к результатам запроса
- 18. Доступ к результатам nedb
- 19. присоединиться к результатам подзапроса
- 20. Добавить клик, если оператор
- 21. Добавить клик на QLineEdit
- 22. JQuery добавление HTML к результатам
- 23. Дополнительные поля к результатам INTERSECT
- 24. Как добавить TextWatcher в действие в android
- 25. Join повторяющейся последовательности к результатам
- 26. Как добавить дополнительный объект к результатам запроса LINQ?
- 27. Как добавить дополнительный параметр к результатам запроса перед рендерингом?
- 28. Сплит данные в куски и добавить номера к результатам
- 29. PHP - Как добавить фильтр к существующим результатам поиска
- 30. Как добавить значение к результатам @DBlookup в xpages?
использование 'AdapterView.OnItemClickListener' – pskink
@pskink правильно, вам нужен AdapterView.OnItemClickListener. –
@AdarshYadav Просьба привести пример? Я еще не реализовал до этого. –