0

我想在 ListView 中祝酒所选列表项的文本。我正在使用自定义适配器。我试过这段代码。

@Override
public boolean onItemLongClick(AdapterView<?> parent, View view,final int pos,
        final long id) {
    String text=String.valueOf(lv.getItemAtPosition(pos));
    Toast.makeText(getActivity(), text, Toast.LENGTH_SHORT).show();
  }

但它是 Toasting Object 的名称,例如com.demo.CustomList@413ffb10. 谁能告诉我如何敬酒各自的项目?

注意:以上代码适用于简单适配器,但不适用于自定义适配器

4

4 回答 4

2

假设列表视图根据您的代码具有 CustomList 类型的对象,它将显示 CutsomList 类的默认 toString() 方法。相反,您应该访问要显示的变量并对其进行烘烤。

例如:

       public class CustomList {
                  String title;

        public String getTitle(){
        return name;
        }
}

在 onClick 中,您可以执行以下操作:

@Override
public boolean onItemLongClick(AdapterView<?> parent, View view,final int pos,
        final long id) {
     CustomList customList= (CustomList )lv.getItemAtPosition(pos);

    Toast.makeText(getActivity(), customList.getTitle(), Toast.LENGTH_SHORT).show();
  }

这正是您正在寻找的。希望有帮助。

于 2013-09-24T11:50:40.527 回答
1

我不知道你的结构custom list view。但是,如果您想从中获得toast TextView价值,请custom list view执行以下操作:

String text= (TextView)view.findViewById(R.id.YOUR_LIST_ITEM_TEXT_VIEW).getText();
Toast.makeText(getActivity(), text, Toast.LENGTH_SHORT).show();
于 2013-09-24T11:46:43.857 回答
0

尝试这个

String text=parent.getItemAtPosition(pos).toString();
Toast.makeText(getActivity(), text, Toast.LENGTH_SHORT).show();
于 2013-09-24T11:50:16.147 回答
0

getItemAtPosition()方法返回属于适配器使用的数据结构的对象,而不是图形小部件的实例

于 2013-09-24T11:52:02.080 回答