2013-10-15 41 views
1

我有一個名爲A的活動, 在這裏,一個ListView和一個按鈕在那裏。點擊這個按鈕後,顯示列表視圖,並從這個列表視圖中點擊一個項目,我可以移動到活動B.回到上一個活動狀態

現在的問題是,當我從活動B - >活動A回來,然後,我看到按鈕只有不列表視圖。

因爲我呼籲活動A的意圖..

代碼

@Override 
    public void onBackPressed() { 
     // TODO Auto-generated method stub 
     Intent i; 

      i = new Intent(B.this, A.class); 

     startActivity(i); 
     finish(); 
     super.onBackPressed(); 
    } 

在活動B,我上面的實現,我在暫停使用面漆()()條件也。

我想查看帶按鈕的列表視圖。 我是否需要再次調用整個代碼才能顯示ListView,或者是否有任何其他方法可以解決此問題? 有什麼辦法可以保存以前的活動視圖?

+0

刪除完成(); – KOTIOS

+0

當您切換到活動B時,您正在完成活動A.只是不完成活動A.並檢查它是否有效? – GrIsHu

+0

我認爲你已經維護一個默認爲false的標誌,並且當點擊按鈕標誌變爲true時,現在檢查onResume()上的條件,如果標誌爲true,則列表消失,並且標誌設置爲false,否則列表顯示。 –

回答

0

它,因爲你切換到Activity B前完成Activity A。如果你想讓你的ListView保持原樣,那麼請不要完成Activity A然後嘗試。如果仍然您的數據不可見然後再在活動A的onResume()綁定你的ListView

//removed finish(). 
@Override 
public void onBackPressed() { 
    // TODO Auto-generated method stub 
    Intent i = new Intent(B.this, A.class); 
    startActivity(i); 
    super.onBackPressed(); 
} 
0

你創建你的活動aagain因爲üHV稱爲終點 方法和當U回去它調用的onCreate而是應該調用生命週期的 的onResume方法。

0

只是做一個thing.rmove完成()從你的代碼

@Override 
public void onBackPressed() { 
    // TODO Auto-generated method stub 
    Intent i; 

     i = new Intent(B.this, A.class); 

    startActivity(i); 
    super.onBackPressed(); 
} 
0

所謂的onResume當活動開始,或當你從另一個活動返回按照活動的生命週期,它能夠更好地保持你的代碼裏面的onResume,這將填充你的listview與數據。

因此,當您從A調用活動B時(在Activity A中填充您的listview內部的onResume方法),並且當您按回時,再次調用onResume並填充您的列表視圖。

相反#做代碼內onBackPressed活性B的