监听事件的三种写法
//监听事件的三种写法:匿名内部类,独立类监听按钮点击事件,实现接口
//strings.xml
<?xmlversion="1.0"encoding="utf-8"?><resources><stringname="app_name">EventMonitor</string><stringname="hello_world">Helloworld!</string><stringname="action_settings">Settings</string><stringname="button_name">登陆</string></resources>
//activity_main.xml
<RelativeLayoutxmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"tools:context="com.vincentlin.eventmonitor.MainActivity"><Buttonandroid:id="@+id/button1"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="@string/button_name"/><ImageButtonandroid:id="@+id/p_w_picpathButton1"android:layout_width="match_parent"android:layout_height="wrap_content"android:layout_marginTop="50dp"android:src="@drawable/ic_launcher"/></RelativeLayout>
//MainActivity.java
packagecom.vincentlin.eventmonitor;importandroid.app.Activity;importandroid.os.Bundle;importandroid.util.Log;importandroid.view.View;importandroid.view.View.OnClickListener;importandroid.widget.Button;importandroid.widget.ImageButton;publicclassMainActivityextendsActivityimplementsOnClickListener{/***Button---可以设置文本内容一个按钮*ImageButton(src属性,background属性-不可以设置文本内容,但可以通过用background以及src添加一个p_w_picpath,*当前图片上可以做一个有文本内容的图片)*/privateButtonloginButton;privateImageButtonp_w_picpathButton;@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);/**1)初始化当前所需控件,如何初始化一个控件?*findViewById--返回的是一个View对象*findViewById如何查找对应的view的id*2)设置Button的监听器,通过监听器实现我们点击Button要操作的事情*/loginButton=(Button)findViewById(R.id.button1);p_w_picpathButton=(ImageButton)findViewById(R.id.p_w_picpathButton1);//监听事件通过第一种方式实现(匿名内部类)/*loginButton.setOnClickListener(newOnClickListener(){@OverridepublicvoidonClick(Viewv){//在当前onClick方法中监听点击Button的动作System.out.println("匿名内部类事件的监听事件");}});*///监听事件通过第二种方式实现(独立类实现)/*loginButton.setOnClickListener(listener);*///监听事件通过第三种方式实现(接口实现)//先实现一个接口implementsOnClickListenerp_w_picpathButton.setOnClickListener(this);}@OverridepublicvoidonClick(Viewv){Log.i("tag","接口事件监听事件");}/*OnClickListenerlistener=newOnClickListener(){@OverridepublicvoidonClick(Viewv){//System.out.println("独立类实现的监听事件");Log.i("tag","独立类实现的监听事件");}};*/}
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。