作者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