聽起來很愚蠢,但簡單的增量計數器在我的android應用程序中不起作用。簡單的增量計數器在Android應用程序中不起作用
我在應用程序中有兩個活動,每個都有一個計數器,每次調用onCreate方法時都會增加。當我在兩項活動之間切換時,第一項運作良好,但另一項不計算。
我使用同一條線路來創建這樣的變量:
private int mCreate;
然後,我只是遞增它以同樣的方式在每類中的onCreate方法:
mCreate++;
這個變量用於兩個不同的類,所以它不應該是一個問題。這是我的第一個Android應用程序,所以我需要一些幫助。
第二個活動的整個代碼。我沒有顯示第一個,因爲唯一的區別在於setOnClickListener方法。
public class ActivityTwo extends Activity {
private final static String TAG = "Lab-ActivityTwo";
private int mCreate;
private TextView mTvCreate;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_two);
mTvCreate = (TextView) findViewById(R.id.create);
Button closeButton = (Button) findViewById(R.id.bClose);
closeButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
}
Log.i(TAG, "Entered the onCreate() method"); // to check if the inCreate method was called
mCreate++;
mTvCreate.setText("onCreate() calls: " + mCreate);
Log.i(TAG, "mCreate = " + mCreate); // just to check if I implemented the TextView worng
displayCounts();
}
你可以解釋一下更好,也許顯示更多的代碼?他們應該是兩個不同的櫃檯還是一個持有一個價值? – codeMagic
每次調用createcreate時,都會重新創建活動中的局部變量。如果你需要維護這個變量,你應該把它放在別的地方,例如你的Application類中的一個靜態變量。 – Stefan
@codeMagic我添加了更多的代碼。感謝您的幫助! – Oleg