Android 实现监听的四种方法详解实例代码
直接上代码,大家可以参考下
(1)自身类作为事件监听器
packagecn.edu.gdmec.s07150745.work5; importandroid.support.v7.app.AppCompatActivity; importandroid.os.Bundle; importandroid.view.View; importandroid.widget.Button; importandroid.widget.Toast; publicclassMainActivityextendsAppCompatActivityimplementsView.OnClickListener{ @Override protectedvoidonCreate(BundlesavedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Buttonbtn1=(Button)findViewById(R.id.btn1); btn1.setText("单击"); btn1.setOnClickListener(this); } @Override publicvoidonClick(Viewv){ Toast.makeText(this,"已单击我...",Toast.LENGTH_SHORT).show(); System.out.println("已单击我..."); } }
(2)外部类作为事件监听器:
packagecn.edu.gdmec.s07150745.work5; importandroid.support.v7.app.AppCompatActivity; importandroid.os.Bundle; importandroid.view.View; importandroid.widget.Button; publicclassAct2extendsAppCompatActivity{ @Override protectedvoidonCreate(BundlesavedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.activity_act2); Buttonbtn2=(Button)findViewById(R.id.btn2); btn2.setText("单击"); btn2.setOnClickListener(newOuterClass("已单击我...")); } } classOuterClassimplementsView.OnClickListener{ privateStringstr="已单击我...."; publicOuterClass(Stringstr){ super(); this.str=str; } @Override publicvoidonClick(Viewv){ System.out.println(str); } }
(3)内部类作为事件监听器:
packagecn.edu.gdmec.s07150745.work5; importandroid.support.v7.app.AppCompatActivity; importandroid.os.Bundle; importandroid.view.View; importandroid.widget.Button; importandroid.widget.Toast; publicclassAct3extendsAppCompatActivity{ @Override protectedvoidonCreate(BundlesavedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.activity_act3); Buttonbtn3=(Button)findViewById(R.id.btn3); btn3.setText("单击"); btn3.setOnClickListener(newOuterClass()); } classOuterClassimplementsView.OnClickListener{ @Override publicvoidonClick(Viewv){ Toast.makeText(Act3.this,"已单击我...",Toast.LENGTH_SHORT).show(); System.out.println("已单击我..."); } } }
(4)匿名类作为事件监听器:
packagecn.edu.gdmec.s07150745.work5; importandroid.support.v7.app.AppCompatActivity; importandroid.os.Bundle; importandroid.view.View; importandroid.widget.Button; importandroid.widget.Toast; publicclassAct4extendsAppCompatActivity{ @Override protectedvoidonCreate(BundlesavedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.activity_act4); Buttonbtn4=(Button)findViewById(R.id.btn4); btn4.setText("单击"); btn4.setOnClickListener(newView.OnClickListener(){ @Override publicvoidonClick(Viewv){ Toast.makeText(Act4.this,"已单击我...",Toast.LENGTH_SHORT).show(); System.out.println("已单击我..."); } }); } }
以上四种方法之后,在xml文件中给每一个事件即activity里面定义多一个androidlabel即可。不忘在每个activity里面添加如下蓝色的一段代码哦。
<activityandroid:name=".MainActivity"android:label="1"> <intent-filter> <actionandroid:name="android.intent.action.MAIN"/> <categoryandroid:name="android.intent.category.LAUNCHER"/> </intent-filter> </activity>
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!