[問題] 不能在全域宣告組件?
大家好,小弟正開始自學 android 程式中
現在寫了一個小程式練習:
有很多個 button,每個上面都有不同的數字
當按下後,會在一個 EditText 上面顯示那個 button 的數字
於是寫了下面的程式:
public class testActivity extends Activity {
@override //onCreate 用預設的,就不複製了
public void botton1_press(View view){
EditText display = (EditText) findViewById(R.id.display);
display.setText("1");
}
public void botton2_press(View view){
EditText display = (EditText) findViewById(R.id.display);
display.setText("2");
}
//....以此類推
}
上面這個程式可以正常運作
但是,每個函式內都去找 display 我覺得太繁鎖了
於是我把 display 設成全域,變這樣:
public class testActivity extends Activity {
@override //onCreate 用預設的,就不複製了
EditText display = (EditText) findViewById(R.id.display);
public void botton1_press(View view){
display.setText("1");
}
public void botton2_press(View view){
display.setText("2");
}
//....以此類推
}
結果放到模擬器中就死掉了… The application has stopped unexpectedly.
為什麼這樣不行?組件一定要在函式內才能宣告嗎?
--
光明 的背後 是 黑暗
黑暗 的背後 還是 黑暗
由此可知 黑暗 > 光明 Q.E.D.
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.113.230.123
推
08/03 00:57, , 1F
08/03 00:57, 1F
推
08/03 00:58, , 2F
08/03 00:58, 2F
→
08/03 01:05, , 3F
08/03 01:05, 3F
→
08/03 01:09, , 4F
08/03 01:09, 4F
推
08/03 01:10, , 5F
08/03 01:10, 5F
→
08/03 01:11, , 6F
08/03 01:11, 6F
推
08/03 01:17, , 7F
08/03 01:17, 7F
→
08/03 01:18, , 8F
08/03 01:18, 8F
→
08/03 01:19, , 9F
08/03 01:19, 9F
→
08/03 01:29, , 10F
08/03 01:29, 10F
→
08/03 01:34, , 11F
08/03 01:34, 11F
推
08/03 01:51, , 12F
08/03 01:51, 12F
→
08/03 01:52, , 13F
08/03 01:52, 13F
→
08/03 02:20, , 14F
08/03 02:20, 14F
→
08/03 02:21, , 15F
08/03 02:21, 15F
→
08/03 02:21, , 16F
08/03 02:21, 16F
推
08/03 09:30, , 17F
08/03 09:30, 17F
→
08/03 09:31, , 18F
08/03 09:31, 18F
→
08/03 09:51, , 19F
08/03 09:51, 19F
→
08/03 10:56, , 20F
08/03 10:56, 20F
→
08/03 10:56, , 21F
08/03 10:56, 21F
→
08/03 10:57, , 22F
08/03 10:57, 22F
→
08/03 10:57, , 23F
08/03 10:57, 23F
→
08/03 10:58, , 24F
08/03 10:58, 24F
→
08/03 10:58, , 25F
08/03 10:58, 25F
推
08/03 18:37, , 26F
08/03 18:37, 26F
AndroidDev 近期熱門文章
PTT數位生活區 即時熱門文章