亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

請求幫助,謝謝

View?bt1;
bt1=findviewbyid(r.id.button1);
bt1.setonclicklistener(...);
/////////////////////////////////

Button?bt1;
bt1=(Button)findviewbyid(r.id.button1);
bt1.setonclicklistener(...);

////////////////////////////////////
findviewbyid(r.id.button1).setonclicklistener(...);


發現這3種寫法都能實現我自己想要的效果,麻煩大神們看看第一種和第三種寫法是不是有什么不妥,謝謝


正在回答

1 回答

第一種寫法忘記了View類型轉化為Button類型

View?bt1;

bt1=findviewbyid(r.id.button1);

private Button loginButton;
loginButton.setOnClickListener(new View.OnClickListener() {
});

第三種寫法同上一樣忘記了類型轉化

(Button)findviewbyid(r.id.button1).setonclicklistener(this);

0 回復 有任何疑惑可以回復我~
#1

qq_大爺用的_0 提問者

大神好,沒看懂你的回答。。 老師不是講findviewbyid返回一個view類型的對象嗎,所以我直接聲明一個view類型的變量,然后再用findviewbyid賦值給這個變量,給他設置監聽事件,軟件沒報錯也運行起來了,所以“第一種寫法忘記了View類型轉化為Button類型”我沒能理解。。
2017-08-04 回復 有任何疑惑可以回復我~
#2

qq_大爺用的_0 提問者

第三種,這個應該要寫成( (Button)findviewbyid(r.id.button1) ).setonclicklistener(this),你那樣寫會報錯的.變成將后面的那個方法的返回值進行強制類型轉換。。 ——————————然而這樣寫,軟件會提示這種類型轉換是多余的。。。
2017-08-04 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
Android攻城獅的第一門課(入門篇)
  • 參與學習       312493    人
  • 解答問題       4931    個

想快速掌握Android應用開發基礎,選擇學習這門課程就對了。

進入課程

請求幫助,謝謝

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號