【问题标题】:Listview get item textListview 获取项目文本
【发布时间】:2010-12-22 20:43:31
【问题描述】:

我需要获取所选项目 TEXT(不是 id)。 我可以在 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)

【问题讨论】:

    标签: android listviewitem


    【解决方案1】:

    传递给onItemClick 的东西之一是被点击的视图:

    abstract void onItemClick(AdapterView parent, View view, int position, long id)

    view 转换为适当的类型并在其上调用getText();例如:

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

    【讨论】:

    • 我正在使用 EfficientAdapter,但此方法不起作用。知道为什么吗?
    • 我做了:String item=(String) ((TextView) v).getText();并因 ClassCastException 而崩溃
    • 还有一件事——因为它是EfficientAdapter((TextView)view)不能工作,因为view真的是LinearLayout
    • 别忘了在getText()的末尾加上toString()
    【解决方案2】:

    有多种方法可以实现这一点,这还取决于您是从简单的 listView 还是从自定义 ListView(使用 custom_list_item.xml)获取文本。

    对于简单的列表视图

    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
    }});
    

    用于自定义 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
    
    }});
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-26
      相关资源
      最近更新 更多