简体   繁体   English

Listview获取项目文本

[英]Listview get item text

I need to grab selected item TEXT (not id). 我需要抓取所选项目TEXT(不是id)。 What can I write under onListItemClick to do that? 我可以在onListItemClick下编写什么来做到这一点? I get: 我明白了:

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)

One of the things passed to onItemClick is the view that was clicked: 传递给onItemClick一件事是被点击的视图:

abstract void onItemClick(AdapterView parent, View view, int position, long id) abstract void onItemClick(AdapterView父视图,视图视图,int位置,长id)

Cast view to the appropriate type and call getText() on it; view转换为适当的类型并在其上调用getText() ; for example: 例如:

final String text = ((TextView)view).getText();

There are multiple ways to achieve this and it also depends on whether you are getting text from simple listView or from Custom ListView(with custom_list_item.xml). 有多种方法可以实现这一点,它还取决于您是从简单的listView获取文本还是从Custom ListView(使用custom_list_item.xml)获取文本。

For Simple ListView 对于Simple ListView

lv.setOnItemClickListener(new OnItemClickListener() { 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
}});

For Custom ListView 对于Custom ListView

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

}});

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM