2012-02-18 82 views
0

我有一個列表視圖,其中顯示「詳細信息」,當用戶單擊某個項目時,我得到某個「細節」的位置,並將用戶帶到編輯屏幕將動態數據加載到某些變量。開始一個新的活動也會觸發onPause方法

當我開始細節活動時,logcat告訴我細節活動和mainmenu活動都已啓動,這會將我的用戶帶到mainmenu。這顯然不會讓任何人開心,我想知道是否有人可以爲我提供一些幫助,爲什麼會發生這種情況?

代碼:

DetailsButton:

removeLi.setOnItemClickListener(new OnItemClickListener() { 

      public void onItemClick(AdapterView<?> aV, View v, int pos, 
        long arg3) { 
       // TODO Auto-generated method stub 
       information.open(); 
       information.delete(pos + 1); 
       information.close(); 

       rowAdapter.notifyDataSetChanged(); 
       whenAdapter.notifyDataSetChanged(); 
       postedAdapter.notifyDataSetChanged(); 
       detailsAdapter.notifyDataSetChanged(); 
       editAdapter.notifyDataSetChanged(); 
       removeAdapter.notifyDataSetChanged(); 

       Dialog sucDeleted = new Dialog(ManageAppointment.this); 
       sucDeleted.setTitle("Sucesfully deleted"); 
       TextView tvDintWorked = new TextView(ManageAppointment.this); 
       tvDintWorked.setText("The appointment at position:" + pos 
         + " was sucesfully deleted"); 
       sucDeleted.setContentView(tvDintWorked); 
       sucDeleted.show(); 

      } 
     }); 

的方法的onPause:

@Override 
protected void onPause() { // TODO Auto-generated method stub 
    super.onPause(); 
    Intent main = new Intent("com.DCWebMakers.Vairon.MAINMENU"); 
    startActivity(main); 
} 

感謝。

回答

3

如果其他活動已啓動並將其替換(如指定here),則始終會在每個活動上調用onPause()。如果要覆蓋後退按鈕的行爲以啓動特定的活動,請考慮重寫onBackPressed()方法,而不是將代碼添加到onPause()中。

+0

謝謝,這工作完美 – Vairon 2012-02-18 23:27:37

0

這是設計。 onPause()方法每次運行另一個活動涵蓋當前活動,即使它是您自己的活動。請參閱activity documentation。真正的問題是,你爲什麼要開始onPause()的主要活動?

+0

我用它來防止用戶點擊後退按鈕。但是現在你提到它了,而且我正在弄清楚這就是後退按鈕是正確的嗎? – Vairon 2012-02-18 23:04:02

相關問題