作者ms0561188 (說說TIES OR CONDITIONS )
看板AndroidDev
標題[問題] public無法用的問題
時間Thu Jul 17 15:50:06 2014
如題 先上程式碼
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
abc();
cde();
}
public void abc(){
CheckBox Checkboxa =(CheckBox) findViewById(R.id.checkBox1);
CheckBox Checkboxb =(CheckBox) findViewById(R.id.checkBox2);
CheckBox Checkboxc =(CheckBox) findViewById(R.id.checkBox3);
CheckBox Checkboxd =(CheckBox) findViewById(R.id.checkBox4);
CheckBox Checkboxe =(CheckBox) findViewById(R.id.checkBox5);
CheckBox Checkboxf =(CheckBox) findViewById(R.id.checkBox6);
Button buttona = (Button) findViewById(R.id.button1);
}
public void cde(){
Checkboxa.setOnCheckedChangeListener(new CheckBox.OnCheckedChangeListener()
{
public void onCheckedChanged(CompoundButton buttonView,
boolean isChecked) {
if(Checkboxa.isChecked()){
Toast.makeText(MainActivity.this, "你選擇了"+Checkboxa.getText(),
Toast.LENGTH_LONG).show();
在編譯時cde涵式裡面的 Checkboxa 無法用到abc裡面的定義 請問是哪裡出了問題
新手發問請多多包涵
--
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 210.61.163.55
※ 文章網址: http://www.ptt.cc/bbs/AndroidDev/M.1405583410.A.779.html
→ zxc190:定義在不同scope所以無法使用 兩個方法 07/17 16:23
→ zxc190:1.cde裡面重新宣告abc的checkbox 但是會有重複物件在記憶體 07/17 16:24
→ zxc190:2.將定義拉到全域變數裡面 07/17 16:24
→ ms0561188:可是那個不是public 是可以共用的嗎 不曉得能否可以從 07/17 16:26
→ ms0561188:另一個public 引用進來 還是我的觀念錯了? 07/17 16:26
推 Deltaguita:錯了 method裡面的變數只能在宣告的method內使用 07/17 17:07
→ Deltaguita:你要複用的話應該宣告在class裡面 跟public 沒有關係 07/17 17:07
→ Deltaguita:另外 小弟要建議你的變數命名除了變數最好使用小寫開頭 07/17 17:08
→ Deltaguita:這樣比較容易區分class 跟變數 07/17 17:10
→ Deltaguita:建議你java方便要找一些書來看 不然會寫得很辛苦 07/17 17:10
→ Deltaguita:public private protected 這三個google一下區別 07/17 17:12
→ Deltaguita:對了還有一個default 07/17 17:12
推 a020304888a:public是對其他class 不是自己本身其他的method 07/17 19:17
推 rj9rj9123:建議先讀點java的書,不然你會遇到瓶頸 07/18 22:50
→ ms0561188:謝謝大大 懂了!!! 感謝大家耐心回答 07/21 09:18