2012-04-09 3 views
0

Я использую метод rawQuery для получения списка данных в качестве курсора и с использованием методов startManagingCursor() и stopManagingCursor(). Нет проблем для Activity1 и Activity2, но когда я пытаюсь перейти к Activity2 из Activity3, он говорит: 04-09 17:37:59.629: E/AndroidRuntime(6509): java.lang.RuntimeException: Unable to resume activity {com.nepways.nlocate/com.nepways.nlocate.BusinessOrganizationActivity}: java.lang.IllegalStateException: database /data/data/com.nepways.nlocate/databases/nLocateDatabaseNew.db already closed У кого-нибудь есть помощь?
UPDATE КОД
Невозможно возобновить работу с момента закрытия базы данных

public class BusinessActivity extends Activity implements OnItemClickListener { 

    private ArrayList<Business> businessList = new ArrayList<Business>(); 
    private BusinessListAdapter businessListAdapter; 
    private ListView lvBusiness; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     setContentView(R.layout.business_list); 

     businessList = getIntent().getParcelableArrayListExtra("businessList"); 

     businessListAdapter = new BusinessListAdapter(this, businessList); 

     lvBusiness = (ListView) findViewById(R.id.lvBusiness); 
     lvBusiness.setAdapter(businessListAdapter); 
//  lvBusiness.setOnItemClickListener(this); 
    } 

    @Override 
    public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) { 
     // TODO Auto-generated method stub 

    } 

    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     menu.add("Search").setIcon(R.drawable.ab_search).setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS); 
//  return super.onCreateOptionsMenu(menu); 
     return true; 
    } 

    @Override 
    public boolean onOptionsItemSelected(MenuItem item) { 
     if(item.getTitle().toString().equalsIgnoreCase("Search")) { 
      startActivity(new Intent(this, SearchActivity.class)); 
     } 
     return super.onOptionsItemSelected(item); 
    } 

    @Override 
    protected void onDestroy() { 
     super.onDestroy(); 
    } 

    @Override 
    protected void onResume() { 
     super.onResume(); 
    } 

    @Override 
    protected void onPause() { 
     super.onPause(); 
    } 

} 
+0

где ваш адаптер? и где именно происходит ошибка? –

+0

Я сам решил. Мне не хватало stopManagingCursor (CursorObject); вызов метода. Я не уверен, что это идеальное решение, но оно решило мою проблему. –

ответ

1

пожалуйста, откройте вашу базу данных, это четко отметить, что база данных находится близко.

, чтобы позвонить в службу поддержки по телефону getReadableDatabase()

+0

Все работает нормально, возвращаясь к Activity1 из Activity2, проблема в том, что из Activity3 обратно в Activity2. коды почти одинаковы. :( –

+0

показать свой код, может быть, вы закрыли базу данных в Activity3. –

+0

Я добавил код Activity3, надеюсь получить от вас решение. –

 Смежные вопросы

  • Нет связанных вопросов^_^