關於使用接口(介面)之疑惑?

星際訪客 2015-03-02 02:41:29
最近開始研究 Android...從不同書上範例(Demo)發現不同之處如下 :
    // TODO : 1.使用 OnClickListener
OnClickListener listener = new OnClickListener() {
public void onClick(View v) {
btn = (Button) v;
switch (btn.getId()) {
case R.id.btn1:
// ...;
break;
case R.id.btn2:
// ...;
break;
// ...
}
}
};

// TODO : 2.使用 Button.OnClickListener
Button.OnClickListener listener = new Button.OnClickListener() {
public void onClick(View v) {
btn = (Button) v;
switch (btn.getId()) {
case R.id.btn1:
// ...;
break;
case R.id.btn2:
// ...;
break;
// ...
}
}
};

// TODO : 3.使用 View.OnClickListener
View.OnClickListener listener = new View.OnClickListener() {
public void onClick(View v) {
btn = (Button) v;
switch (btn.getId()) {
case R.id.btn1:
// ...;
break;
case R.id.btn2:
// ...;
break;
// ...
}
}
};


請問大牛們上述三種有何不同嗎?
...全文
168 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
星際訪客 2015-03-08
  • 打赏
  • 举报
回复
引用 1 楼 heaimnmn 的回复:
肯定有区别了,看你需要什么onclick,貌似普通的view都是View.OnClickListener
引用 2 楼 dalor 的回复:
看似不同,其实都是一样的,都是来自View的OnClickListener。
引用 5 楼 inquisitive_plus 的回复:
本质是全部一样 1导入了View.OnClickListener所以没写(因为有其他类里有OnClickListener,所以要么是View.OnClickListener的写法,要么就import进来) import android.view.View; import android.view.View.OnClickListener; 2的话,button是view的子类,OnClickListener就是View的 import android.view.View;就可以 而3和2一样,就写全了View.OnClickListener
這下子清清楚楚了! 感謝各位大牛們的解惑...在此也順道留下學習註記 : C++ 裡的 namespace 參照自 Java 裡的 import 命名空間特質...其 OnClickListener() 原型為 android.view.View.OnClickListener...使用時必須以 static 定義...... 相關資訊 : http://blog.cyberjos.idv.tw/space/Java/Java+1.5/Static+Import
windfury_plus 2015-03-02
  • 打赏
  • 举报
回复
本质是全部一样 1导入了View.OnClickListener所以没写(因为有其他类里有OnClickListener,所以要么是View.OnClickListener的写法,要么就import进来) import android.view.View; import android.view.View.OnClickListener; 2的话,button是view的子类,OnClickListener就是View的 import android.view.View;就可以 而3和2一样,就写全了View.OnClickListener
开发者_android 2015-03-02
  • 打赏
  • 举报
回复
引用 3 楼 start8588 的回复:
[quote=引用 1 楼 heaimnmn 的回复:] 肯定有区别了,看你需要什么onclick,貌似普通的view都是View.OnClickListener
引用 2 楼 dalor 的回复:
看似不同,其实都是一样的,都是来自View的OnClickListener。
感謝回應~ 貌似? 看似? 這下讓我無所適從啦~ 做學問總是要追根究底.實事求是方能胸有成竹囉~ 希望能有更精確的解釋呀![/quote] 第一个:你看看import来自于哪?你会发现其实它就是(第三个)View的OnClickListener。 第二个:Button最终的父类,它就是View,那button的OnClickListener来自于哪里?这下开明了吧。
星際訪客 2015-03-02
  • 打赏
  • 举报
回复
引用 1 楼 heaimnmn 的回复:
肯定有区别了,看你需要什么onclick,貌似普通的view都是View.OnClickListener
引用 2 楼 dalor 的回复:
看似不同,其实都是一样的,都是来自View的OnClickListener。
感謝回應~ 貌似? 看似? 這下讓我無所適從啦~ 做學問總是要追根究底.實事求是方能胸有成竹囉~ 希望能有更精確的解釋呀!
开发者_android 2015-03-02
  • 打赏
  • 举报
回复
看似不同,其实都是一样的,都是来自View的OnClickListener。
哎,真难 2015-03-02
  • 打赏
  • 举报
回复
肯定有区别了,看你需要什么onclick,貌似普通的view都是View.OnClickListener

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧