커서가 목록보기를 채우는 어댑터가 있는데 제대로 작동합니다. onLongItemClickListener
인 항목을 제거하고 싶습니다. 이 코드를 작성했지만 데이터베이스 행 ID가 무엇인지 알지 못하기 때문에 잘못되었음을 알고 있습니다.android- 데이터베이스에서 항목을 제거 할 수 없습니다 onLongItemClickListener listview
lv.setOnItemLongClickListener(new OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView<?> parent, final View view,final int position, long id) {
builder= new AlertDialog.Builder(MainActivity.this);
builder.setMessage(R.string.deleteit)
.setCancelable(true)
.setPositiveButton("OK", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
// myDb.deleteRow(position);
}
});
AlertDialog alert = builder.create();
alert.show();
return false;
}
});
나는 각 행이 -1을 반환를 들어, onItemLongClick (id)
에서 세 번째 항목을 기록.
이 당신이 나를 도울 수 내 목록보기 채우는 방법
cursor = myDb.getAllRows();
adapter_comments = new TimeListAdapter(MainActivity.this, cursor);
lv.setAdapter(adapter_comments);
이 내 cursorAdapter
public class TimeListAdapter extends CursorAdapter {
public TimeListAdapter(Context context, Cursor c) {
super(context, c);
}
public class ViewHolder {
TextView tvTitle;
TextView tvt9;
public ViewHolder(View row) {
tvTitle = (TextView) row.findViewById(R.id.title);
tvt9 = (TextView) row.findViewById(R.id.textView9);
}
}
@Override
public View newView(Context context, Cursor arg1, ViewGroup arg2) {
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View row = inflater.inflate(R.layout.spots_custom_listview, arg2,false);
ViewHolder holder = new ViewHolder(row);
row.setTag(holder);
return row;
}
@Override
public void bindView(View v, Context context, Cursor c) {
ViewHolder holder = (ViewHolder) v.getTag();
holder.tvTitle.setText(c.getString(5));
holder.tvt9.setText(c.getString(4));
}
}
이다?
오류 게시 logcat –
@PratikButani 오류가 없습니다.이 목록의 데이터베이스에서 행을 삭제하는 방법을 모르겠습니다. – user3657105
나는 아래에서 대답했다. –