Как извлечь текст из выбранного элемента в listView - PullRequest
41 голосов
/ 09 февраля 2012

У меня есть список с некоторыми предметами. Я хотел бы получить текст из выбранного элемента.

Вот мой список адаптеров и onItemClickListener:

ListView lv = (ListView)findViewById(R.id.listView1);
    lv.setAdapter(new ArrayAdapter<Country>(
            this,R.layout.list_black_text,R.id.list_content, values));


    lv.setOnItemClickListener(new OnItemClickListener() {
        public void onItemClick(AdapterView<?> parent, View view,
            int position, long id) {
??????
    }});
        }

Подскажите, пожалуйста, как получить строку из выбранного предмета.

метод ((TextView) view) .getText () не работает, у меня есть

ClassCastException: android.widget.LinearLayout

Я нашел решение, может быть, кому-то оно понадобится:

ListView lv = (ListView)findViewById(R.id.listView1);
    lv.setAdapter(new ArrayAdapter<Country>(
            this,R.layout.list_black_text,R.id.list_content, values));

    lv.setOnItemClickListener(new OnItemClickListener() {
        public void onItemClick(AdapterView<?> parent, View view,
            int position, long id) {
            TextView textView = (TextView) view.findViewById(R.id.list_content);
            String text = textView.getText().toString(); 
            System.out.println("Choosen Country = : " + text);

    }});

Ответы [ 12 ]

0 голосов
/ 09 февраля 2012

попробуйте сделать это этим, вставьте его в onItemClickListener, я не уверен, как выглядит ваш класс Country:

String s = values.get(position).getCountryName();
Log.e("LISTVIEW", "selected item text = "+s);

  or

String s = values.get(position).toString();
Log.e("LISTVIEW", "selected item text = "+s);
0 голосов
/ 09 февраля 2012

Если вы используете List для заполнения ListView в вашем методе onItemClick ().

String s = list.get(position);

Вы должны иметь доступ к этому списку внутри класса

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...