package android.example;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
public class Android_eg1 extends Activity {
Button bt;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
bt=(Button)findViewById(R.id.click);
bt.setOnClickListener(new OnClickListener(){
public void onClick(View v) {
// TODO Auto-generated method stub
Toast.makeText(getApplicationContext(), "You made a mess", Toast.LENGTH_LONG).show();
}
});
} //onCreate()
}//class
Run Code Online (Sandbox Code Playgroud)
我是java的新手,我知道核心java的基础知识.这是我尝试通过按钮类了解事件处理的示例程序.我无法理解这一部分:
"bt.setOnClickListener(new OnClickListener(){
public void onClick(View v) {
// TODO Auto-generated method stub
Toast.makeText(getApplicationContext(), "You made a mess", Toast.LENGTH_LONG).show();
}
});"
Run Code Online (Sandbox Code Playgroud)
在setOnClickListener(参数)中,为什么它们给出一个函数定义?(public void onClick(View v)})
这可以接受吗?
小智 6
在java中,这是一个实现接口的Generated Class.您可以在函数参数内动态生成类,也可以创建外部类并传递此类的实例,或者通过您的activty实现侦听器所需的接口,并将您的活动作为侦听器传递.
| 归档时间: |
|
| 查看次数: |
47292 次 |
| 最近记录: |