Android 列表视图:长单击Toasts对象

Android 列表视图:长单击Toasts对象,android,android-listview,onlongclicklistener,Android,Android Listview,Onlongclicklistener,我想在ListView中编辑所选列表项的文本。我正在使用自定义适配器。我试过这个密码 @Override public boolean onItemLongClick(AdapterView<?> parent, View view,final int pos, final long id) { String text=String.valueOf(lv.getItemAtPosition(pos)); Toast.makeText(getActivi

我想在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();
  }
@覆盖
长点击(AdapterView父视图、视图、最终整数位置、,
最终长id){
String text=String.valueOf(lv.getItemAtPosition(pos));
Toast.makeText(getActivity(),text,Toast.LENGTH_SHORT).show();
}
但它是像
com.demo这样的对象名。CustomList@413ffb10
。有人能告诉我如何为每一个项目干杯吗


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

我不知道您的
自定义列表视图的结构。但是,如果您想从您的
自定义列表视图中
toast
TextView
值,请执行以下操作:

String text= (TextView)view.findViewById(R.id.YOUR_LIST_ITEM_TEXT_VIEW).getText();
Toast.makeText(getActivity(), text, Toast.LENGTH_SHORT).show();

我不知道您的
自定义列表视图的结构。但是,如果您想从您的
自定义列表视图中
toast
TextView
值,请执行以下操作:

String text= (TextView)view.findViewById(R.id.YOUR_LIST_ITEM_TEXT_VIEW).getText();
Toast.makeText(getActivity(), text, Toast.LENGTH_SHORT).show();
试试这个

String text=parent.getItemAtPosition(pos).toString();
Toast.makeText(getActivity(), text, Toast.LENGTH_SHORT).show();
试试这个

String text=parent.getItemAtPosition(pos).toString();
Toast.makeText(getActivity(), text, Toast.LENGTH_SHORT).show();

假设列表视图根据您的代码具有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();
  }
@覆盖
长点击(AdapterView父视图、视图、最终整数位置、,
最终长id){
CustomList CustomList=(CustomList)lv.getItemAtPosition(pos);
Toast.makeText(getActivity(),customList.getTitle(),Toast.LENGTH_SHORT).show();
}

这正是你要找的。希望对您有所帮助。

假设列表视图具有与您的代码相同的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();
  }
@覆盖
长点击(AdapterView父视图、视图、最终整数位置、,
最终长id){
CustomList CustomList=(CustomList)lv.getItemAtPosition(pos);
Toast.makeText(getActivity(),customList.getTitle(),Toast.LENGTH_SHORT).show();
}

这正是你要找的。希望有帮助。

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

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

您想要烤什么?所选列表项的位置或所选列表项的文本?我只想祝酒文本。发布您的自定义Adapter您想祝酒什么?所选列表项的位置或所选列表项的文本?我只想toast文本。发布您的自定义Adapter如何为CursorAdapter获取ListView项?这一次我越来越喜欢android.database.sqlite。SQLiteCursor@41413280How我可以为CursorAdapter获取ListView项目吗?这一次我越来越喜欢android.database.sqlite。SQLiteCursor@41413280