监听器
监听器是事件监听机制的重要组成部分。在Java中每类事件都定义了一个相应的监听器接口,该接口定义了接收和处理事件的方法。
实现该接口的类,其对象可作为监听器对象注册在事件源组件上。
在图形用户界面中,需要响应用户操作的相关组件要注册一个或多个相应事件的监听器,该监听器中包含了能接收和处理事件的方法。在某类事件产生时,事件对象只向已注册的监听器报告。
Activity的创建
新建一个Activity一般需要如下步骤:
创建一个Activity子类,覆写onCreate()方法,Activity启动时会调用该方法
每一个Activity都需要在AndroidManifest.xml文件中注册
创建该Activity类的布局文件 (比如main.xml),添加必要控件在Activity文件中完成相应的业务逻辑功能
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);}
在Mainfest里注册Activity
密码输入 android:inputType=“textPassword”
第二步:在EditText的background属性中引用这个xml文件android:background="@drawable/shape”
EditText类中绑定监听方法:public void addTextChangedListener(TextWatcher watcher)
Button
为Button绑定监听器有两种方法:在代码中用方法setOnClickListener()绑定监听器OnClickListener,重写其方法。View.OnClickListener是View定义的点击事件的监听器接口,并在接口中仅定义了onClick()函数
将监听器直接绑定到标签
匿名内部类方式
EditText et=(EditText) findViewById(R.id.edit)
Button bt=(Button)findViewById(R.id.bn);
bt. setOnClickListener(new OnClickListener(){
public void onClick(View v){
et.setText("Button Pressed: " + i);
i++; } });
内部类方式
EditText et=(EditText) findViewById(R.id.edit)
Button bt=(Button)findViewById(R.id.bn);
MyClickListener mc=new MyClickListener();
bt. setOnClickListener(mc);
class MyClickListener implements View.OnClickListener{
public void onClick(View v){
et.setText("Button Pressed: " + i);
i++; }}
xml布局中绑定
xml布局文件中:<Button android:text=“Button” android:id="@+id/button1"android:onClick="buttonClicked“/>
在Activity中实现buttonClicked 方法,以View作为参数public void buttonClicked(View view){ tv.setText("Button Pressed: " + i); i ++; }
创建Toast的方式
第一种创建方式:static Toast makeText(Context context, int resId, int duration)参数:context是toast显示在哪个上下文,通常是当前Activity;resId指显示内容,使用string.xml中定义的显示的消息内容,通过R.java来引用;duration指定显示时间,Toast默认有LENGTH_SHORT和LENGTH_LONG两常量,分别表示短时间显示和长时间显示。
第二种创建方式:static Toast makeText(Context context, CharSequence text, int duration) 参数context和duration与第一个方法相同,参数text是消息内容。
用上面任意方法创建Toast对象之后调用方法show()即可显示。
举例 Toast.makeText(MainActivity.this,“toast”,Toast.LENGTH_SHORT).show();
RadioButton
<RadioGroup
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:checkedButton="@id/utf"
>
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/utf"
android:text="utf编码"/>
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/gbk"
android:text="gbk编码"/>
</RadioGroup>
RadioButton继承自CompoundButton
public boolean isChecked():确定单选框是否被选中。
public void setChecked(boolean checked):设置默认选中。
public void toggle():切换单选框的选中和未选中状态
RadioGroup的事件监听机制
对RadioGroup添加监听事件, 接口 RadioGroup.OnCheckedChangeListener, 通过该接口来实现对一组RadioButton的监听工作,绑定方法为:setOnCheckedChangeListener(RadioGroup.OnCheckedChangeListener)。
监听方法:public void onCheckedChanged(RadioGroup group, int checkedId)
第一个参数:状态发生改变的RadioGroup
第二个参数checkedId,表示当前被选中的RadioButton的ID。
genderGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
public void onCheckedChanged(RadioGroup group, int checkid) {
if (checkid ==R.id.femaleRadio) {
Toast.makeText(MyActivity.this, "I am female.", Toast.LENGTH_SHORT).show();
} else if (checkid ==R.id.maleRadio) {
Toast.makeText(MyActivity.this, "I am male.", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(MyActivity.this, "Unknown", Toast.LENGTH_SHORT).show();
} } });
标签:Toast,控件,复习,安卓,public,Button,监听器,Activity,void
From: https://blog.csdn.net/weixin_74234462/article/details/144437997