0

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

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

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

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

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 cannot be cast to android.widget.TextView

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

4

1 回答 1

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。

于 2013-03-08T23:34:33.570 回答