2013-10-26 59 views
0

我製作了一個計數器應用程序,從100000倒數。每當我將設備旋轉90°或停止時,它都會從100000開始。我如何讓我的應用程序停止重置?如何使應用程序不重置自己?

代碼:

public class SecondActivity extends Activity { 

    int counter = 1000001; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_second); 
    } 

    public void onClick(View v){} 

    public void button1 (View v){ 
     counter--; 
     final Button button2 = (Button) findViewById(R.id.button2); 
     button2.setText("" + counter); 
    } 

    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     // Inflate the menu; this adds items to the action bar if it is present. 
     getMenuInflater().inflate(R.menu.second, menu); 
     return true; 
    } 

} 
+1

發佈您的代碼。 –

+0

我發佈了代碼@Brontok – Leitvoll

回答

2

Android的破壞和重建上的取向變化的當前活動。您必須通過執行ActivityonSaveInstanceState()onRestoreInstanceState()方法來保存活動狀態。

有關詳細信息,請參閱developer.android.com上的this article

0

瞭解此事每次旋轉手機,即改變方向,您的活動實例都會被破壞,並創建新的活動實例,即您的活動被重新創建,然後是活動生命週期。 您無法控制此行爲,但您可以將最後一個計數器保存在SharedPreferences中,就像將要調用的最後一個活動方法是onDestroy()。在這種方法中保存計數器並在onCreate()方法中獲取保存時間的值,並從那裏啓動計數器。

0

計數器的值不會以這種方式持續存在,您需要使用SharedPreferences或至少在某處保存此值。

相關問題