Написать метод для обработки по клику в виде списка Android

Я получаю результаты поиска с моего сервера и отображаю их в виде списка. Во-первых, мне нужно изменить это на выпадающий список. Значения в раскрывающемся списке имеют формат: SchoolA; Россия Мне нужно захватить этот текст по клику и разделить его на SchoolA и Россию. Код выглядит следующим образом на странице активности:

private void populateResults(String response) {

List<String> resultsFromServer = parseResponse(response);

ListView resultsList = (ListView) findViewById(R.id.schoolssListView);
ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(getApplicationContext(), android.R.layout.simple_list_item_1, resultsFromServer); 
resultsList.setAdapter(arrayAdapter); 

addListenerOnClick(); // this is the method in which i need the above mentioned operations}

Теперь код на странице XML для просмотра списка выглядит следующим образом:

<ListView
    android:id="@+id/schoolssListView"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" >
</ListView>

2 ответа

Решение

Попробуй это

listView.setOnItemClickListener(new OnItemClickListener() {

@Override
public void onItemClick(AdapterView<?> parent, View view,
        int position, long id) {

   // Your code here , position points to your requirement index

}

});

После нажатия вы можете получить позицию элемента, получить строку из arrayList этой позиции, чтобы вы получили, например: StringA;Russia Тогда разделите это с сепаратором ; и использовать это

ОБНОВИТЬ

String currentString = "StringA;Russia";

String[] separated = CurrentString.split(";");
separated[0]; // it will contain StringA
separated[1]; // it will contain russia

чередовать

StringTokenizer tokens = new StringTokenizer(CurrentString, ":");

String first = tokens.nextToken();// this will contain "StringA"
String second = tokens.nextToken();

Вот один пример для реализации пользовательского представления списка и переопределения onItemclick на просмотр списка в Android

Надеюсь, что это поможет. Вы можете спросить, есть ли у вас какие-либо дополнительные вопросы.

Другие вопросы по тегам