• 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));
        }

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

  • 相关阅读:
    扶桑号战列舰【单调栈+线段树】
    c++ vector基本函数、排序、查找用法
    路【邻接矩阵存图找最短路】
    free【分层图最短路】
    Magic Line【坐标点排序方法】
    Stones【中石油个人赛第十七场I】
    Second Large Rectangle【单调栈】
    点坐标求三角形面积【向量差乘】
    Random Point in Triangle【随机数解决期望值问题】
    JavaScript——基础知识,开始我们的js编程之旅吧!
  • 原文地址:https://www.cnblogs.com/rivercast/p/6075271.html
Copyright © 2020-2023  润新知