Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/394.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/182.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何获取listview控件的索引或位置_Java_Android_Listview_Drag And Drop_Draggable - Fatal编程技术网

Java 如何获取listview控件的索引或位置

Java 如何获取listview控件的索引或位置,java,android,listview,drag-and-drop,draggable,Java,Android,Listview,Drag And Drop,Draggable,大家好,我是android编程新手。我想创建一个益智游戏,在这个游戏中,用户将通过在屏幕上拖动html未排序的标签来排序。我使用listview控件来存储未排序的html标记。我已经实现了以下库: 现在,我尝试在用户删除列表项后获取列表项的位置或索引,以便将用户排序的列表项与实际排序的项进行比较 这是我的Main.java代码 PuzzleManager pm = new PuzzleManager(this); pm.insertPuzzle("<html>,</h1>

大家好,我是android编程新手。我想创建一个益智游戏,在这个游戏中,用户将通过在屏幕上拖动html未排序的标签来排序。我使用listview控件来存储未排序的html标记。我已经实现了以下库:

现在,我尝试在用户删除列表项后获取列表项的位置或索引,以便将用户排序的列表项与实际排序的项进行比较

这是我的Main.java代码

PuzzleManager pm = new PuzzleManager(this);
pm.insertPuzzle("<html>,</h1>,<h1>,</html>,<body>,</body>", "<html>,<body>,<h1>,</h1>,</body>,</html>");
Cursor cursor = pm.getPuzzle(1);
pm.close();
String s = cursor.getString(1); 
List<String> puzzleList = Arrays.asList(s.split(","));
ArrayList<Map<String, Object>> items = new ArrayList<Map<String, Object>>();

for(int i = 0; i < puzzleList.size(); ++i) {
    HashMap<String, Object> item = new HashMap<String, Object>();
    item.put("puzzle", puzzleList.get(i));
    items.add(item);
}

DragNDropListView list = (DragNDropListView)findViewById(android.R.id.list);
DragNDropSimpleAdapter adaptor = new DragNDropSimpleAdapter(this,
        items,
        R.layout.row,
        new String[]{"puzzle"},
        new int[]{R.id.text},
        R.id.handler);
list.setDragNDropAdapter(adaptor);
puzzmanager pm=新的puzzmanager(此);
插入拼图(,,,,,,,,,,);
游标=pm.getPuzzle(1);
pm.close();
字符串s=cursor.getString(1);
List-puzzlist=Arrays.asList(s.split(“,”);
ArrayList items=新建ArrayList();
对于(int i=0;i
Main.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >

<com.terlici.dragndroplist.DragNDropListView
    android:id="@id/android:list"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    />

</LinearLayout>

row.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="80px"
    android:orientation="horizontal"
    android:gravity="center_vertical"
    >

    <ImageView
        android:id="@+id/handler"
        android:layout_width="60px"
        android:layout_height="60px"
        android:src="@android:drawable/btn_star_big_on"
        android:layout_marginLeft="8px"
        />

    <TextView
        android:id="@+id/text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Large Text"
        android:textAppearance="?android:attr/textAppearanceLarge" />

</LinearLayout>


提前感谢

“DragNDropListView为拖放提供了事件侦听器”:list.setOnItemDragNDropListener(…)。使用它获取已删除项的索引(id)
list.setOnItemDragNDropListener(new DragNDropListener(){
                public void onItemDrop(DragNDropListView parent, View view, int startPosition, int endPosition, long id)
                {
                    super.onItemDrop(parent, view, startPosition, endPosition, id);
                    Log.i("long clicked","pos"+" "+endPosition+" id "+id);
                }

        });