作者aligu (aligu)
看板AndroidDev
標題[問題] findviewById 與變數宣告的問題
時間Sat Feb 16 23:04:09 2013
請問,我在書上看到一段程式碼:
(前略)
1 private Button btnDo;
2 private TextView txtShow;
3
4 @Override
5 public void onCreate(Bundle savedInstancesState) {
6 super.onCreate(savedInstancesState);
7 setContentView(R.layout.main);
8 btnDo = (Button)findViewById(R.id.button1);
9 textShow = (TextView)findViewById(R.id.textView1);
10 }
(後略)
第1及第2行:宣告二個變數btnDo及textShow,其類別分別是Button及TextVew
第一個問題是,這兩個變數,算不算”物件”?還是只是一個單純
"變數”而已?
第8及第9行:用FindViewById()方法出來的東西指定給btnDo及textShow,
究竟是指定了什麼?所有button1或textView1元件的值全指定給
btnDo及textShow這兩個變數(或物件?)?
前面的(Button)和(TextView)是什麼意思?
我看到有其他書的類似寫法是:
Button btnDo = (Button)findViewById(R.id.button1)
^^^^^^
多了這一個有何差異?
謝謝。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 123.240.137.56
1F:→ adks3489:這...閣下應該沒學過寫程式? 02/16 23:22
2F:→ adks3489:或是沒寫過C or JAVA 02/16 23:23
3F:→ adks3489:如果真的是這樣的話,我建議你先從基本的JAVA學起 02/16 23:27
4F:→ adks3489:這些問題你可能就會了解一些了 02/16 23:27
5F:→ aligu:回樓上,第一次碰java,也是第一次碰物件導向.. 02/16 23:28
6F:推 prospect:先去學java再學android。不要急著直接看android的code 02/16 23:45
7F:→ aligu:謝謝樓上二位的建議,我也想說先去學java再回來碰android好 02/16 23:48
8F:→ aligu:了。本來一路看書都還勉強可以理解,在書上講到gallery元件 02/16 23:49
9F:→ aligu:時開始講到自訂類別及繼承bassAdapter的作法時,整個腦袋馬 02/16 23:50
10F:→ aligu:上爆掉 = = 02/16 23:51
11F:推 KeySabre:findViewById()回傳View類別,要指定給Button就要強轉(ca 02/17 00:05
12F:→ KeySabre:st) 02/17 00:05
13F:→ KeySabre:這裡能做cast是因為Button是View的子類別,否則會有Excep 02/17 00:07
14F:→ KeySabre:tion 02/17 00:07
15F:→ qweqweqweqwe:還是先學怎麼寫最簡單的程式吧 02/17 00:07
16F:推 KeySabre:btnDo這個變數宣告說要指向Button類別的物件 02/17 00:09
17F:→ qweqweqweqwe:你要看的書應該不是android 應該是基本程式語言教學? 02/17 00:09
18F:→ KeySabre:但真正指到一個Button物件時是第八行 02/17 00:10
19F:推 KeySabre:至於到底有哪些物件能用、常用的有是哪些,官網文件跟範 02/17 00:13
20F:→ KeySabre:例很豐富… 02/17 00:13