您的位置:首页 > 产品设计 > UI/UE

UI控件之监听器的四种实现方式

2018-03-07 14:33 393 查看
1 成员内部类的实现方式XML:<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"tools:context="com.example.jiang.firstapplication.MainActivity"><!--为控件设置id属性方便调用--><Buttonandroid:id="@+id/bt_1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center_horizontal"android:text="按钮"/></LinearLayout>
activity:public class MainActivity extends AppCompatActivity {Button bt1;//1,定义成员变量@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);bt1 = (Button) findViewById(R.id.bt_1);//2,绑定控件bt1.setOnClickListener(new myOnClickListener());//4,绑定监听器}//    3,创建成员内部类class myOnClickListener implements View.OnClickListener{@Override//重写成员方法public void onClick(View view) {Toast.makeText(MainActivity.this,"按钮被点击",Toast.LENGTH_LONG).show();//打印被点击效果}}}2 匿名内部类的实现方法public class MainActivity extends AppCompatActivity {Button bt1;//1,定义成员变量@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);bt1 = (Button) findViewById(R.id.bt_1);//2,绑定控件bt1.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {Toast.makeText(MainActivity.this,"按钮被点击",Toast.LENGTH_LONG).show();//打印被点击效果4000}});//3,绑定监听器}}3 activity的实现方法public class MainActivity extends AppCompatActivity implements View.OnClickListener{Button bt1;//1,定义成员变量@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);bt1 = (Button) findViewById(R.id.bt_1);//2,绑定控件bt1.setOnClickListener(this);//4,绑定监听器}@Override//3,重写onClick方法public void onClick(View view) {Toast.makeText(MainActivity.this,"按钮被点击",Toast.LENGTH_LONG).show();//打印被点击效果}}4 XML中实现点击XML文件:<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"tools:context="com.example.jiang.firstapplication.MainActivity"><!--为控件设置id属性方便调用,添加onClick方法--><Buttonandroid:id="@+id/bt_1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center_horizontal"android:text="按钮"android:onClick="onClick"/></LinearLayout>
activity文件:
public class MainActivity extends AppCompatActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);}//1,实现XML中的onClick方法,须为public修饰,返回值为void,传入参数为viewpublic void onClick(View view) {Toast.makeText(MainActivity.this,"按钮被点击",Toast.LENGTH_LONG).show();//打印被点击效果}}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  按钮 点击