Java 拖放ListView行
我的应用程序中有一个listview,它使用了此Google视频中的拖放功能:。当应用程序从数据库加载项目时,它工作正常,但当我尝试将项目添加到listview时,它会中断。下面是它的样子: 我认为问题在于itemsarayadapter.java类中的getItemId方法: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
@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);
}
}