Re: [問題] android studio 關於button問題
※ 引述《CPU100 (小丑)》之銘言:
: 之前完全沒接觸過JAVA 更別提開發Android程式了
: 目前老闆突然丟一隻Android的程式過來,實在有看沒懂,希望版上前輩指導
: 以下是在看程式遇到的問題
: 在layout的XML裡,同樣是button ,有一個有使用onClick這個事件,一個沒有none
: 但兩個按鈕點擊都有功能的
同樣的事件可以有多種表示方法
以下這種是寫至在 xml (不推薦
: 1.這是有使用onClick
: public void btn_onClick (View view) {
: Intent intent = new Intent(this, Main3Activity.class);
: startActivity(intent);
: MainActivity.this.finish();
這樣代表著在程式內宣告了一個 btn_onClick 方法
並且你可以在 xml 內看到以下的寫法
<Button
android:onClick="btn_onClick"
android:text="push me"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
以下這種是寫在程式內(較常見
: 2.這是沒有使用onClick
: registered.setOnClickListener(new View.OnClickListener() {
: @Override
: public void onClick(View v) {
: Intent intent = new Intent(Main2Activity.this,
: registeredpage.class);
: startActivity(intent);
: Main2Activity.this.finish();
第二種寫法代表著他是用匿名類別的物件來實作的
可以參考良葛格的文章
https://openhome.cc/Gossip/Java/AnonymousInnerClass.html
也可以參考我之前寫過的一篇文章的解釋
https://www.ptt.cc/bbs/AndroidDev/M.1326163107.A.BDA.html
: 請問這兩種方式,什麼情況下使用呢?
: 如果我想把第一個有使用onClick的按鈕改用第二種寫法,該怎麼改呢?
: 謝謝!!
如果要改成第二種寫法
首先要在 xml 內將該 Button 設定一個 id
並且在主程式內透過
Button btn = (Button) findViewById(R.id.your_id);
btn.setOnClickListener(new OnClickListener(){
public void onClick(View v) {
// do something
}
});
這樣就可以完成一個事件的宣告了
比較不推薦第一種的寫法
因為在 code review 的時候不好追蹤
大部分的情況之下是會採取第二種的寫法
除了可以共用 Listener 以外
可讀性也比較高
對於 Button 的運作也可以參考一下拙作
http://givemepass.blogspot.tw/2016/11/button.html
雖然你是臨時被老闆叫去寫 Java
如果未來還是要開發 Android 建議是從 Java 的基礎觀念學起
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 42.72.169.199
※ 文章網址: https://www.ptt.cc/bbs/AndroidDev/M.1496643553.A.140.html
※ 編輯: givemepass (42.72.169.199), 06/05/2017 14:24:16
推
06/05 14:25, , 1F
06/05 14:25, 1F
推
06/05 14:44, , 2F
06/05 14:44, 2F
→
06/05 16:43, , 3F
06/05 16:43, 3F
→
06/05 18:46, , 4F
06/05 18:46, 4F
→
06/05 20:36, , 5F
06/05 20:36, 5F
→
06/05 20:45, , 6F
06/05 20:45, 6F
→
06/05 20:45, , 7F
06/05 20:45, 7F
推
06/07 21:53, , 8F
06/07 21:53, 8F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
AndroidDev 近期熱門文章
PTT數位生活區 即時熱門文章