Android设置监听

一、创建新视图界面

  

    

    

二、创建控件

  

  

三、设置监听

  1、初始化视图

public class MainActivity extends Activity {
    //定义所需要操作的视图对象
    private Button btn;
    private Button btn1;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
     btn = (Button)findViewById(R.id.btn);   //初始化视图
     btn1 = (Button)findViewById(R.id.btn1); //初始化视图 } }

  2、给视图设置点击监听

//设置点击监听
btn.setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(View v) {
       Toast t =Toast.makeText(getApplicationContext(), "位置", Toast.LENGTH_LONG);  
    t.show();//调用show()方法 } });
 

        1)设置监听的两种方式

       方式一:Activity中添加监听:
          view.setOnClickListener(OnClickListener listener);
       方式二:布局添加监听:
          layout中:android:onclick="方法名"
          Activity中:public void 方法名(View v){}

  3、当监听的视图有多个时,我们可以通过一个类用来实例化setOnClickListener

public class MainBtn implements OnClickListener{//实例OnClickListener接口
    private Context cont;//定义上下文对象
    public MainBtn(Context c){
         this.cont=c;
    }
    @Override
    public void onClick(View v) {
        Toast t = Toast.makeText(cont, "你好", Toast.LENGTH_LONG);//信息框
        t.show();//调用
    }
    
}
public class MainActivity extends Activity {
    //初始化视图
    private Button btn;
    private Button btn1;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        //setContentView(R.layout.activity_main);
        setContentView(R.layout.activity_but);
        btn = (Button)findViewById(R.id.btn);//初始化视图
        btn.setOnClickListener(new MainBtn(this));
    }

  通过这个方法可以提高我们维护代码的效率,是代码更简洁

原文地址:https://www.cnblogs.com/rivercast/p/6075271.html