顯示廣告
隱藏 ✕
※ 本文為 kewang 轉寄自 ptt.cc 更新時間: 2012-01-30 09:54:06
看板 AndroidDev
作者 LaPass (LaPass)
標題 Re: [問題] onClickListener的事件處理?
時間 Tue Jan 10 13:19:16 2012


其實主要是看到givemepass那篇後
也想分享一些經驗

以及,我通通自學,一些專有名詞的使用會跟別人不一樣
意思看懂就好



其實,匿名物件、匿名類別
(好像是同樣的東西?我不清楚名稱上的差別,直接給我CODE我就知道一不一樣)
最重要的用途,是在「單一次使用」的狀況下

在基本運作上與一般物件沒有太大無異
這方面比較偏向JAVA語言的部分
請去找本書來看會比較清楚



onClickListener應該是寫android時最早用到的
在之後會發現..... 幾乎每個事件、對話框都須要讓你選擇寫個class或是用匿名

在「只使用一、二次」的狀況下,匿名是很好用沒錯
但是,當類似的功能超過三個以上時,就應該整理一下,寫個class出來

例如,givemepass的範例也可以寫成這樣:



class MyOnClickListener implements OnClickListener{
    TextView tv;
    String st;
    public MyOnClickListener(TextView tv,String st){
      this.tv=tv; this.st=st;
    }
    public void onClick(View v){
      tv.setText(st);
    }
}


使用時:
    button1.setOnClickListener(new MyOnClickListener(textView1,"文字一"));
    button2.setOnClickListener(new MyOnClickListener(textView2,"文字二"));



至於哪時候用匿名比較好,哪時宣告個class.....

小程式、不考慮維護的話,就用匿名
程式結構較大、常常改來改去,就寫個class出來,把變動的部分弄成建構子引數
會比較方便、好修改

看過包了五、六層的匿名物件之後,自然而然就會改方法去寫了.....



--

--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.117.7.81
nvidia:不需要強調自學了,台灣的學校訓練也只是拿坊間的書來教XDD1F 01/10 13:32
nvidia:所謂的專有名詞也只是外面的書來的
nvidia:不然就是官方名稱
LaPass:因為我常常搞不清楚那些專有名詞....4F 01/10 17:47
nvidia:打英文XDD5F 01/10 17:47
LaPass:我英文更糟糕.... 這已經沒救了6F 01/10 17:49

--
※ 看板: FW 文章推薦值: 0 目前人氣: 0 累積人氣: 146 
r)回覆 e)編輯 d)刪除 M)收藏 ^x)轉錄 同主題: =)首篇 [)上篇 ])下篇
看板名稱: 確定(Enter) 取消(Esc) 搜尋(Space)
查詢帳號: 確定(Enter) 取消(Esc) 搜尋(Space)
搜尋: m)m文 b)進板 c)未分類 a)作者 /)標題 q)取消?[q]

搜尋 送出(Enter) 取消(Esc)

回覆文章至: f)看板 m)作者信箱 b)兩者皆是 q)取消?[f]
要引用原文嗎? y)引用原文 n)不引用 a)全部回覆 r)複製原文 q)取消?[y]
轉錄本文章於看板: 1)使用連結 2)使用複製 q)取消 ?[1]
轉寄至站內信箱於使用者: 確定(Enter) 取消(Esc)
轉寄至站內信箱於使用者: 確定(Enter) 取消(Esc)
修改文章標題為: 確定(Enter) 取消(Esc)
修改文章標題為: 確定(Enter) 取消(Esc) 全部(a)

確定要刪除這篇文章?(可按大U救回) 確定(Enter) 取消(Esc)

刪除理由:

確定(Enter) 取消(Esc)
加到這個分類: 確定(Enter) 下一層(→) 回上層(←) 取消(Esc)
你覺得這篇文章: 1)真讚 2)真瞎 q)取消?[1] (再選一次即可收回)
你覺得這篇文章: 1)值得推薦 2)表示反對 3)單純註解 q)取消?[3]
guest
預覽(Enter) 取消(Esc)
上傳圖片
按ctrl+Enter可輸入下一行。
guest
確定要送出? 確定(Enter) 取消(Esc) 繼續(e)
搜尋: 送出(Enter) 取消(Esc)

▏▎▍▌▋▊▉ 請按任意鍵繼續