-1
問題是onpostexecute方法在onpostexecute方法獲得的NullPointerException
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
contactListView = getListView();
contactListView.setOnItemClickListener(viewContactListener);
String[] from = new String[]{"name"};
int[] to = new int[]{R.id.contactTextView};
@SuppressWarnings("deprecation")
CursorAdapter contactAdapter = new SimpleCursorAdapter(AddressBook.this,
R.layout.contact_list_item, null, from, to);
setListAdapter(contactAdapter);
}
@Override
protected void onResume() {
// TODO Auto-generated method stub
super.onResume();
new GetContactsTask().execute((Object[])null);
}
@SuppressWarnings("deprecation")
@Override
protected void onStop() {
// TODO Auto-generated method stub
Cursor cursor = contactAdapter.getCursor();
if(cursor != null)
cursor.deactivate();
contactAdapter.changeCursor(null);
super.onStop();
}
private class GetContactsTask extends AsyncTask<Object, Object, Cursor>{
DatabaseConnector databaseConnector = DatabaseConnector(AddressBook.this);
@Override
protected Cursor doInBackground(Object... params) {
// TODO Auto-generated method stub
databaseConnector.open();
return databaseConnector.getAllContacts();
}
@Override
protected void onPostExecute(Cursor result) {
contactAdapter.changeCursor(result);
databaseConnector.close();
}
}
想想。什麼可能是'空'?測試它。它是'空'嗎?修理它。 – nhaarman 2013-05-07 19:32:57
從你的代碼的內容和你收到的錯誤判斷,我想'contactAdapter'或'databseConnector'是空的。然而,缺少更多的信息,除此之外幫助你是相當困難的。 – 2013-05-07 19:33:44
檢查contactAdapter&databaseConnector的值 – 2013-05-07 19:34:00