本节内容好像有个错误
这里UP讲的有一个问题:第二种举得例子不恰当,因为第二种仍然是匿名内部类的方式实现的。这样给第二种方法举例比较恰当:在外层定义一个实现了OnClickListenner的类比如A,然后再第一个类中声明一个field,private A a = new A(),然后bt1.setOnClickListenner(a)。这样才是外部类实现,否则仍然是一个匿名内部类了,求探讨,谢谢。
这里UP讲的有一个问题:第二种举得例子不恰当,因为第二种仍然是匿名内部类的方式实现的。这样给第二种方法举例比较恰当:在外层定义一个实现了OnClickListenner的类比如A,然后再第一个类中声明一个field,private A a = new A(),然后bt1.setOnClickListenner(a)。这样才是外部类实现,否则仍然是一个匿名内部类了,求探讨,谢谢。
2015-04-01
同意。外部类实现例题:
public class QiuSum extends Activity {
private EditText numText;
private Button calButton;
private TextView sumTextView;
private Long sumLong;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//this.requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.qiusum);
numText=(EditText)findViewById(R.id.num);
calButton=(Button)findViewById(R.id.calcu);
sumTextView=(TextView)findViewById(R.id.result);
calButton.setOnClickListener(new MyListener());
}
public class MyListener implements OnClickListener {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
sumLong=0L;
for(int n=1;n<=Integer.parseInt(numText.getText().toString());n++){
sumLong +=n;
}
sumTextView.setText("结果是:"+sumLong);
}
}
}
举报