Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/229.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 - Fatal编程技术网

Java 拖放ListView行

Java 拖放ListView行,java,android,listview,Java,Android,Listview,我的应用程序中有一个listview,它使用了此Google视频中的拖放功能:。当应用程序从数据库加载项目时,它工作正常,但当我尝试将项目添加到listview时,它会中断。下面是它的样子: 我认为问题在于itemsarayadapter.java类中的getItemId方法: @Override public long getItemId(int position) { Long idToReturn = (long) INVALID_ID; if (p

我的应用程序中有一个listview,它使用了此Google视频中的拖放功能:。当应用程序从数据库加载项目时,它工作正常,但当我尝试将项目添加到listview时,它会中断。下面是它的样子:

我认为问题在于itemsarayadapter.java类中的getItemId方法:

@Override
    public long getItemId(int position) {
        Long idToReturn = (long) INVALID_ID;
        if (position >= 0 && position <= mIdMap.size()-1) {
            try {
                String item = getItem(position);
                idToReturn = (long) mIdMap.get(item);
            }
            catch(Exception e){}
        }

        return idToReturn;
    }
以下是更新方法:

public void update(){
    for (int i = 0; i < mArrayList.size(); ++i) {
        mIdMap.put(mArrayList.get(i), i);
    }
}
public void update(){
对于(int i=0;i

提前感谢。

您是否覆盖适配器中的
hastTableId
以返回true?是的,该方法仅返回true。
builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                String text = mNewItemText.getText().toString();
                if (!mItems.contains(text) && !text.isEmpty()) {
                    mItems.add(text);
                    mItemsArrayAdapter.update();
                    mItemsArrayAdapter.notifyDataSetChanged();

                }
                else{
                    Toast.makeText(NoteActivity.this, text + " is already added.", Toast.LENGTH_LONG).show();
                }
            }
        });
public void update(){
    for (int i = 0; i < mArrayList.size(); ++i) {
        mIdMap.put(mArrayList.get(i), i);
    }
}