ListView получить текст элемента - PullRequest
3 голосов
/ 22 декабря 2010

Мне нужно захватить выбранный элемент ТЕКСТ (не идентификатор).Что я могу написать в onListItemClick, чтобы сделать это?Я получаю:

java.lang.ClassCastException: org.eclipse.jdt.internal.debug.core.model.JDIObjectValue cannot be cast to org.eclipse.jdt.debug.core.IJavaArray
at org.eclipse.jdt.internal.debug.ui.JavaDetailFormattersManager.getCompiledExpression(JavaDetailFormattersManager.java:396)
at org.eclipse.jdt.internal.debug.ui.JavaDetailFormattersManager.resolveFormatter(JavaDetailFormattersManager.java:167)
at org.eclipse.jdt.internal.debug.ui.JavaDetailFormattersManager.access$1(JavaDetailFormattersManager.java:152)
at org.eclipse.jdt.internal.debug.ui.JavaDetailFormattersManager$3.run(JavaDetailFormattersManager.java:143)
at org.eclipse.jdt.internal.debug.core.model.JDIThread$ThreadJob.run(JDIThread.java:2751)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)

Ответы [ 2 ]

2 голосов
/ 22 декабря 2010

Одной из вещей, переданных onItemClick, является представление, по которому щелкнули:

abstract void onItemClick (родительский объект AdapterView, представление View, позиция int, длинный идентификатор)

Приведите view к соответствующему типу и вызовите getText() на нем; например:

final String text = ((TextView)view).getText();
0 голосов
/ 12 февраля 2015

Есть несколько способов добиться этого, и это также зависит от того, получаете ли вы текст из простого listView или из Custom ListView (с custom_list_item.xml).

Для Simple ListView

lv.setOnItemClickListener (new OnItemClickListener () {

    public void onItemClick(AdapterView<?> parent, View view,
        int position, long id) {
        String text = lv.get(position).tostring().trim();//first method 
        final String text = ((TextView)view).getText();// second method
}});

для пользовательского списка

lv.setOnItemClickListener(new OnItemClickListener() {

    public void onItemClick(AdapterView<?> parent, View view,
        int position, long id) {
        TextView textView = (TextView) view.findViewById(R.id.list_content);
//where list_content is the id of TextView in listview_item.xml

}});
...