public class deleteAsyncTask extends AsyncTask<Uri,Void,Void> {
@Override
protected Void doInBackground(Uri... params) {
// TODO Auto-generated method stub
Uri contactUri = null;
if(params!=null){
for(Uri s:params){
contactUri=s;
}
mContext.getContentResolver().delete(contactUri, null, null);
}
return null;
}
}
list.setOnItemLongClickListener(new OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView<?> arg0, View arg1,
int arg2, long arg3) {
Cursor c = (Cursor)list.getItemAtPosition(arg2);
idIndex1=c.getString(SUMMARY_ID_COLUMN_INDEX);
final Long idIndex=c.getLong(SUMMARY_ID_COLUMN_INDEX);
final String lookupKey = c.getString(3);
final deleteAsyncTask dl= new deleteAsyncTask();
final CharSequence[] items = {"Delete"};
AlertDialog.Builder item = new AlertDialog.Builder(mContext,AlertDialog.THEME_HOLO_LIGHT).setTitle(c.getString(1));
item.setItems(items, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int item) {
switch (item) {
case 0: {
final Uri contactUri = Contacts.getLookupUri(
idIndex, lookupKey);
dl.execute(contactUri);
adapter.swapCursor(tmpCursor(idIndex1));
dialog.cancel();
return;
}
}
}
}).create();
mPopupDlg=item.show();
디비데이터를 지우는것을 asyncTask 로 돌리면
디비작업이 백그라운드에서 실행되는거니까
다른 작업 할수있는거 아닌가요 ?
ListView 스크롤이나 다른버튼 누르거나 액티비티 이동등...
근데 어싱크테스크가 다돌때까지 아무작업을 못합니다.
왜그럴까요 ???
아무리 봐도 잘못한부분은 없어보이는데.. ㅠㅠ
미쳐버리겠네요.