是否有可能在Android上onCreate()
方法之前創建變量?我曾嘗試過,但無濟於事,所以我假設你不能,但我只是想仔細檢查。究其原因就是因爲我想在我的TextWatcher
充當計數器來訪問一個變量,但它超出範圍,並要求對我來說,使它最終,這顯然行不通的,因爲其作爲一個計數器,並需要增加。我重視我下面的代碼:Android在OnCreate之前聲明變量?
int counter = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final EditText answerText = (EditText) findViewById(R.id.answer);
final TextView text = (TextView) findViewById(R.id.wordtoanswer);
final ArrayList updatedList = helperMethod();
text.setText(updatedList.get(0).toString());
final String wordFinal = updatedList.get(0).toString();
while(true)
{
answerText.addTextChangedListener(new TextWatcher() {
public void onTextChanged(CharSequence s, int start, int before, int count) {
// TODO Auto-generated method stub
}
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
// TODO Auto-generated method stub
}
public void afterTextChanged(Editable s) {
System.out.println(counter);
String answer = s.toString();
if(answer.equals(wordFinal))
{
text.setText(updatedList.get(counter).toString());
answerText.setText("");
}
}
});
counter++;
}
}
希望你們明白,爲什麼我想在onCreate()
之前聲明它,因爲只有這樣,才能TextWatcher
裏面的方法其實沒有他們被淘汰的範圍內訪問它。無論如何,我可以解決這個問題嗎?請讓我知道如果你需要更多的信息/代碼!
將改變它爲int計數器前上創建,然後在它intializing至0 OnCreate方法使其工作?我試圖測試它,但有問題連接Android手機日食! – user2677095 2014-09-02 22:28:44