最近開始研究 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;
// ...
}
}
};
請問大牛們上述三種有何不同嗎?
------解决思路----------------------
肯定有区别了,看你需要什么onclick,貌似普通的view都是View.OnClickListener
------解决思路----------------------
第一个:你看看import来自于哪?你会发现其实它就是(第三个)View的OnClickListener。
第二个:Button最终的父类,它就是View,那button的OnClickListener来自于哪里?这下开明了吧。
------解决思路----------------------
本质是全部一样
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