【问题标题】:adding search field to listView wrecked my code向 listView 添加搜索字段破坏了我的代码
【发布时间】:2013-03-08 23:30:43
【问题描述】:

我有一个问题,我猜这是一个简单的解决方案,但我无法弄清楚...

我有一个带有列表视图和搜索字段的活动,当我点击一个项目时,它会加载一个新视图,其中包含与点击内容相关的内容...

无论如何,一切都很好,但是,现在我添加了搜索字段,它不再工作了......

我发现了问题,但我不明白我应该把它换成什么......

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

          // selected item
          String product = ((TextView) view).getText().toString(); //PROBLEM

          // Launching new Activity on selecting single List Item
          Intent i = new Intent(getApplicationContext(), BotafogoSingleListItem.class);
          // sending data to new activity
          i.putExtra("product", product);
          startActivity(i);

      }
    });

这家伙String product = ((TextView) view).getText().toString(); 是问题..

当我查看调试面板时,我得到的是: java.lang.ClassCastException: android.widget.LinearLayout 无法转换为 android.widget.TextView

我猜这条线得到的是线性布局而不是它里面的 TextView?

【问题讨论】:

    标签: android listview search android-activity


    【解决方案1】:

    OnItemClickview参数是整个列表项的视图。在这种情况下,您似乎从对每个 list_item 使用单个 TextView 转变为使用自定义 LinearLayout(我假设它包含您的 TextView)。

    在这种情况下,您需要将产品线替换为

    String product = ((TextView) view.findById(R.id.your_text_view)).
        getText().toString();
    

    your_text_view 是与 TextView 关联的 android:id。

    【讨论】:

    • 成功了!谢谢 ianhanniballake
    • 如果它解决了你的问题,请接受答案,祝你好运!
    猜你喜欢
    • 2017-09-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-02
    • 1970-01-01
    • 2018-12-14
    • 2022-01-08
    相关资源
    最近更新 更多