精华内容
下载资源
问答
  • 下面写个例子来看看如何监听单选按钮,效果如下: 点击前: 点击后: 下面给出程序源文件: main.xml: xmlns:tools="http://schemas.android.com/tools" ...

    在平常使用软件的时候,我们经常会碰见一些选择题,例如选择性别的时候,在男和女之间选,前面说过这个情况要用RadioGroup组件,那么点击了之后我们该怎么获取到选择的那个值呢,这就是今天要说的OnCheckedChangeListener方法。这个方法定义如下:

    public static interface RadioGroup.OnCheckedChangeListener{
    	    public void onCheckedChanged(RadioGroup group, int checkedId){
    	    	
    	    }
    	}

    下面写个例子来看看如何监听单选按钮,效果如下:

    点击前:



    点击后:



    下面给出程序源文件:

    main.xml:

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:id="@+id/LinearLayout1"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical" >
        <TextView 
            android:id="@+id/title"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:textSize="20sp"
            android:text="请选择您的性别...."/>
    	<RadioGroup 
    	    android:id="@+id/sex"
    	    android:layout_width="fill_parent"
    	    android:layout_height="wrap_content"
    	    android:orientation="vertical"
    	    android:checkedButton="@+id/male">
    	    <RadioButton 
    	        android:id="@+id/male"
    	        android:text="男"/>
    	    <RadioButton 
    	        android:id="@+id/female"
    	        android:text="女"/>
    	</RadioGroup>
    	<TextView 
    	    android:id="@+id/showSex"
    	    android:layout_width="fill_parent"
    	    android:layout_height="wrap_content"
    	    android:text="您的性别是:"/>
    </LinearLayout>

    MainActivity.java:

    package com.example.oncheckedchangedlistenerdemo;
    
    import android.app.Activity;
    import android.os.Bundle;
    import android.widget.RadioButton;
    import android.widget.RadioGroup;
    import android.widget.TextView;
    
    public class MainActivity extends Activity {
    	private TextView showSex = null;
    	private RadioGroup sex = null;
    	private RadioButton male = null;
    	private RadioButton female = null;
    	private String head = "";
    	@Override
    	protected void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.activity_main);
    		initView();
    	}
    	
    	private void initView(){
    		//初始化组件
    		showSex = (TextView)super.findViewById(R.id.showSex);
    		sex = (RadioGroup)super.findViewById(R.id.sex);
    		male = (RadioButton)super.findViewById(R.id.male);
    		female = (RadioButton)super.findViewById(R.id.female);
    		//获取显示前缀(即您的性别是:),以便显示美观
    		head = showSex.getText().toString();
    		//未调用监听时显示默认选择内容
    		if(male.getId() == sex.getCheckedRadioButtonId()){
    			showSex.setText(head+male.getText().toString());
    		}else if(female.getId() == sex.getCheckedRadioButtonId()){
    			showSex.setText(head+female.getText().toString());
    		}
    		//为RadioGroup设置监听事件
    		sex.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
    			
    			@Override
    			public void onCheckedChanged(RadioGroup group, int checkedId) {
    				// TODO Auto-generated method stub
    				String sexTmp = "";
    				if(checkedId == male.getId()){
    					sexTmp = male.getText().toString();
    				}else if(checkedId == female.getId()){
    					sexTmp = female.getText().toString();
    				}
    				showSex.setText(head+sexTmp);
    			}
    		});
    	}
    }
    
    

    今天就到这里了。



    展开全文
  • java单选按钮事件处理程序

    千次阅读 2014-06-10 10:26:37
    import java.applet.*; import java.awt.*; import java.awt.event.*; public class Raido extends Applet implements ItemListener { CheckboxGroup chk=new CheckboxGroup(); TextArea ta=new TextArea(3,20);
    import java.applet.*;
    import java.awt.*;
    import java.awt.event.*;
    public class Raido extends Applet implements ItemListener {
    	CheckboxGroup chk=new CheckboxGroup();
    	TextArea ta=new TextArea(3,20);
    	TextField tf=new TextField(4);
    	Label lb=new Label(" 你的选择:");
    	Checkbox cx1=new Checkbox("(A)332",chk,false);
    	Checkbox cx2=new Checkbox("(B)362",chk,false);
    	Checkbox cx3=new Checkbox("(C)432",chk,false);
    	Checkbox cx4=new Checkbox("(D)452",chk,false);
    	String text="全班共买24本书,\n"+"每本书18元\n"+"一共需要多少钱?";
    	public void init(){
    		ta.setText(text);
    		add(ta);
    		add(cx1);
    		cx1.addItemListener(this);
    		add(cx2);
    		cx2.addItemListener(this);
    		add(cx3);
    		cx3.addItemListener(this);
    		add(cx4);
    		cx4.addItemListener(this);
    		add(lb);
    		add(tf);
    	}
    	public void itemStateChanged(ItemEvent e) {
    		if(e.getItemSelectable()==cx3)
    			tf.setText("正确!");
    		else
    			tf.setText("错误!");
    		
    	}
    	
    }
    

    展开全文
  • java单选按钮实例

    2012-11-09 16:39:59
    单选按钮,实现点击一个按钮就能激发相应的事件,从而显示相应的图片
  • 文章目录1.Button的三种监听事件①设置onClick属性②匿名内部类③继承OnClickListener接口RadioButton的监听事件CheckBox监听事件 1.Button的三种监听事件 注:findViewById()方法用来实现在Activity与布局界面的...


       上一篇文章介绍常用的控件,本篇介绍如何定义按钮的监听事件。

    1.Button的三种监听事件

    注:findViewById()方法用来实现在Activity与布局界面的控件实现关联,官方说法我也不清楚,个人喜欢用关联来阐述用法。

    ①设置onClick属性

    实现要求:实现按钮onClick属性点击事件,按钮1被点击后,按钮上显示已被点击字样
    定义顺序
      ①控件设置onClick属性
      ②Activity文件中定义同名方法
      ③在方法中编写交互代码

    ①创建按钮;设置onClick属性并为按钮设置id属性,两个属性值都是自定义,不能是纯数字和数字开头

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
    
        <Button
            android:id="@+id/But"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="按钮1"
            android:textSize="30sp"
            android:onClick="Click1"/>
    
    </LinearLayout>
    

    ②在java/第一个目录/MainActivity文件中定义交互代码;创建同名的onClick属性值的方法Click1

        public void Click1(View view){
    
        }
    

    如图:
    在这里插入图片描述

    ③定义Button组件,使用findViewById

    Button button = findViewById(R.id.But);
    

      有java基础的可能会知道为什么代码和图片上的定义方式有点差距:上面代码的定义方式适合Activity中一个方法调用按钮时,可以这样使用,不存在全局变量问题
      在Activity中如果存在多种方法需要调用变量时,建议下面定义方式,可以全局调用,也可以选中对象使用Android Studio快捷键Ctrl + Alt + F将对象设置为全局变量 。
      例如:光标选中button,同时点击Ctrl + Alt + F,会出现提示,继续点回车,就会设置为全部变量。
    在这里插入图片描述

    ④在方法中定义按钮button调用setText()方法指定字样

        public void Click1(View view){
            button.setText("已被点击");
        }
    

    如图:
    在这里插入图片描述

    ⑤运行结果:
    在这里插入图片描述在这里插入图片描述

    ②匿名内部类

    实现要求:实现按钮setOnClickListener()方法点击事件,按钮2被点击后,按钮上显示已被点击字样
    定义顺序
      ①button按钮设置id属性
      ②Activity中findViewById()方法找到按钮
      ③定义setOnClickListener()监听方法
      ④编写交互代码


    ①定义如下布局;一定要定义id属性

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
    
        <Button
            android:id="@+id/But"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="按钮2"
            android:textSize="30sp" />
    
    </LinearLayout>
    

    ②在Activity中定义findViewById()方法找到按钮

    Button button=findViewById(R.id.But);
    

    如图:
    在这里插入图片描述

    ③使用setOnClickListener()方法设置监听事件;并在匿名方法中定义交互代码

        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                button.setText("已被点击");
            }
        });
    

    如图:
    在这里插入图片描述

    ④运行结果:
    在这里插入图片描述在这里插入图片描述

    ③继承OnClickListener接口

    实现要求:实现当前类继承onClickListener接口点击事件,3个按钮被点击后,按钮上分别显示已被点击字样
    定义顺序
      ①定义布局界面
      ②findViedById()方法关联按钮
      ③当前类实现onClickListener接口,创建关联的onClick()方法
      ④设置按钮setOnClickListener()方法指定当前类
      ⑤在onClick()方法中编译交互代码

    ①创建多个按钮组件;定义id属性

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">
    
        <Button
            android:id="@+id/But1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="按钮1"
            android:textSize="30sp" />
    
        <Button
            android:id="@+id/But2"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="按钮2"
            android:textSize="30sp" />
    
        <Button
            android:id="@+id/But3"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="按钮3"
            android:textSize="30sp" />
    </LinearLayout>
    

    ②在Activity中使用findViewById()方法

    	Button button1 = findViewById(R.id.But1);
        Button button2 = findViewById(R.id.But2);
        Button button3 = findViewById(R.id.But3);
    

    如图:
    在这里插入图片描述

    ③指定当前类实现OnClickListener接口
    在这里插入图片描述
    红色波浪线是没有实现方法;将 光标放到红色波浪线上Alt + Enter(回车键),点击Implement methods,都会出现如图:
    在这里插入图片描述
    选择第一个,出现如图方法就可以操作下一步:
    在这里插入图片描述

    ④指定当前对象的setOnClickListener()属性为当前类

        button1.setOnClickListener(this);
        button2.setOnClickListener(this);
        button3.setOnClickListener(this);
    

    在这里插入图片描述

    ⑤在onClick()方法中定义交互代码;多个按钮,适合Java中的Switch判断语句

        public void onClick(View v) {
            switch (v.getId()){
                case R.id.But1:
                    button1.setText("已被点击");
                    break;
                case R.id.But2:
                    button2.setText("已被点击");
                    break;
                case R.id.But3:
                    button3.setText("已被点击");
                    break;
            }
        }
    

    如图:注意在switch中的case R.id.xxx:xxx是布局文件中按钮的id属性,不是当前Activity中自定义的button1,button2
    在这里插入图片描述

    ⑥运行结果:
    在这里插入图片描述在这里插入图片描述

    2.RadioButton的监听事件

    实现要求:选中单选按钮,实现显示性别
    定义顺序
      ①定义布局界面
      ②Activity界面使用findViewById()方法关联控件
      ③使用setOnCheckedChangeListener()方法实现匿名内部类
      ④在方法中编写if语句判断性别

    设置setOnCheckedChangeListener()方法通过匿名内部类实现监听事件:
    ①定义布局,每个控件都要设置id属性

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">
    
        <RadioGroup
            android:id="@+id/SEX"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal">
    
            <RadioButton
                android:id="@+id/BOY"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="男" />
    
            <RadioButton
                android:id="@+id/GIRL"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="女" />
        </RadioGroup>
    
        <TextView
            android:id="@+id/TEXTVIEW"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:paddingLeft="5dp"/>
    </LinearLayout>
    

    ②在Activity中使用findViewById()方法关联控件

    package com.example.radiobutton;
    
    import androidx.appcompat.app.AppCompatActivity;
    
    import android.os.Bundle;
    import android.provider.MediaStore;
    import android.widget.Button;
    import android.widget.RadioGroup;
    import android.widget.TextView;
    
    public class MainActivity extends AppCompatActivity {
        RadioGroup radioGroup;
        TextView textView;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.linearlayout);
    
            radioGroup = findViewById(R.id.SEX);
            textView = findViewById(R.id.TEXTVIEW);
            
        }
    }
    

    ③使用setOnCheckedChangeListener()方法设置匿名点击事件

    radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
        @Override
        public void onCheckedChanged(RadioGroup group, int checkedId) {
    
        }
    });
    

    在这里插入图片描述

    ④在方法中使用if语句判断;isChecked()方法是否被点击

    radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
        @Override
        public void onCheckedChanged(RadioGroup group, int checkedId) {
            if (checkedId == R.id.BOY){ //如果“男”被选中
                textView.setText("性别:男"); //文本框显示
            }else{ //不是男那就是女
                textView.setText("性别:女");
            }
        }
    });
    

    在这里插入图片描述

    ⑤运行结果:
    在这里插入图片描述在这里插入图片描述在这里插入图片描述

    3.CheckBox监听事件

    实现要求:选中多选按钮,实现显示爱好
    定义顺序
      ①定义布局界面
      ②Activity界面使用findViewById()方法关联控件
      ③使用CompoundButton.onCheckedChangeListener实现接口;创建onCheckedChanged监听方法
      ④使用setOnCheckedChangeListener(this)方法指定当前类
      ⑤在onCheckedChanged方法中编译判断代码
      ⑥指定按钮监听事件
      ⑦在按钮监听事件中编译实现结果代码

    通过定义接口实现监听事件:
    ①定义布局
    布局管理器也持支嵌套关系,不必要的情况下尽量不要超过2层或2层以上,繁琐麻烦。

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">
    
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content">
    
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="选择类型:" />
    
            <CheckBox
                android:id="@+id/movie1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="科幻" />
    
            <CheckBox
                android:id="@+id/movie2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="恐怖" />
    
            <CheckBox
                android:id="@+id/movie3"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="喜剧" />
        </LinearLayout>
    
        <Button
            android:id="@+id/BUTTON"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="提交" />
    
        <TextView
            android:id="@+id/TEXTVIEW"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" />
    </LinearLayout>
    

    效果如图:
    在这里插入图片描述

    ②Activity中定义、关联控件

    package com.example.checkbox;
    
    import androidx.appcompat.app.AppCompatActivity;
    
    import android.os.Bundle;
    import android.view.View;
    import android.widget.Button;
    import android.widget.CheckBox;
    import android.widget.CompoundButton;
    import android.widget.TextView;
    
    public class MainActivity extends AppCompatActivity{
        CheckBox m1, m2, m3; //复选框组件
        Button but; //提交按钮
        TextView re; //结果显示框
        String hobbys = ""; //字符串;存储爱好
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.linearlayout);
    
            m1 = findViewById(R.id.movie1);
            m2 = findViewById(R.id.movie2);
            m3 = findViewById(R.id.movie3);
    
            but = findViewById(R.id.BUTTON);
            re = findViewById(R.id.TEXTVIEW);
        }
    }
    

    在这里插入图片描述

    ③定义接口;实现onCheckedChanged方法

    public class MainActivity extends AppCompatActivity
                    implements CompoundButton.OnCheckedChangeListener{
        CheckBox m1, m2, m3; //复选框组件
        Button but; //提交按钮
        TextView re; //结果显示框
        String hobbys = ""; //字符串;存储爱好
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.linearlayout);
    
            m1 = findViewById(R.id.movie1);
            m2 = findViewById(R.id.movie2);
            m3 = findViewById(R.id.movie3);
    
            but = findViewById(R.id.BUTTON);
            re = findViewById(R.id.TEXTVIEW);
        }
    
        @Override
        public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
    
        }
    }
    

    在这里插入图片描述

    ④实现当前监听按钮的setOnCheckedChangeListener()方法指向当前类

    	 m1.setOnCheckedChangeListener(this);
    	 m2.setOnCheckedChangeListener(this);
    	 m3.setOnCheckedChangeListener(this);
    

    在这里插入图片描述

    ⑤在监听方法内编译代码
    contains()方法判断是字符串是否包含某个字符串,返回类型是boolean

       @Override
       public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
           String str = buttonView.getText().toString(); //监听的复选按钮转换为字符串
           if (isChecked == true){ //如果爱好类型被选中
               if (!hobbys.contains(str)){ //但是存储爱好里面没有包含选中的按钮字符串
                   hobbys = hobbys + " " +str; //将按钮字符串添加到爱好里面
               }
           }else { //如果爱好类型没有被选中
               if (hobbys.contains(str)){ //但是存储爱好里面却包含着按钮字符串
                   hobbys = ""; //清空
                   re.setText(""); //将显示结果清空
               }
           }
       }
    

    在这里插入图片描述

    ⑥设置按钮的匿名内部类监听事件

      but.setOnClickListener(new View.OnClickListener() {
          @Override
          public void onClick(View v) {
              
          }
      });
    

    在这里插入图片描述

    ⑦在按钮监听事件中编译结果代码

      but.setOnClickListener(new View.OnClickListener() {
          @Override
          public void onClick(View v) {
              re.setText(hobbys);
          }
      });
    

    在这里插入图片描述

    ⑧运行结果:
    在这里插入图片描述在这里插入图片描述在这里插入图片描述

    展开全文
  • Android开发 ---基本UI组件2 ... 定义一个按钮 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" andro...

    Android开发 ---基本UI组件2

     

    1、activity_main.xml 

      描述:

        定义一个按钮

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/activity_main"
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
    
        <Button
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="Button"
            android:onClick="test_2"/>
    </LinearLayout>

    2、MainActivity.java

      描述:

        页面跳转

    package com.example.android_ui;
    import android.app.Activity;
    import android.content.Intent;
    import android.os.Bundle;
    import android.view.View;
    
    public class MainActivity extends Activity {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
        }public void test_2(View view){
            Intent intent=new Intent(this,ButtonActivity.class);
            startActivity(intent);
        }
    }

    3、activity_button.xml

     

       timg.jpg

     

      描述:

        1、定义一个图像按钮

           android:src="@drawable/timg"  引用资源文件中的名为timg.jpg的图像

           scaleType=“matrix”            保持原图大小、从左上角的点开始,以矩阵形式绘图。

           scaleType=“fitXY”              将原图进行横方向(即XY方向)的拉伸后绘制的。

           scaleType=“fitStart”           将原图沿左上角的点(即matrix方式绘图开始的点),按比例缩放原图绘制而成的。

           scaleType=“fitCenter”        将原图沿上方居中的点(即matrix方式绘图第一行的居中的点),按比例缩放原图绘制而成的。

           scaleType=“fitEnd”            将原图沿下方居中的点(即matrix方式绘图最后一行的居中的点),按比例缩放原图绘制而成的。

           scaleType=“Center”          保持原图大小,以原图的几何中心点和ImagView的几何中心点为基准,只绘制ImagView大小的图像。

           scaleType=“centerCrop”   不保持原图大小,以原图的几何中心点和ImagView的几何中心点为基准,只绘制ImagView大小的图像(以填满
    ImagView为目标,对原图进行裁剪)。

           scaleType=“centerInside”  不保持原图大小,以原图的几何中心点和ImagView的几何中心点为基准,只绘制ImagView大小的图像(以显示
    完整图片为目标,对原图进行缩放)。

        2、定义一组单选按钮

           RadioGroup组件和RadioButton组件进行结合设置单选按钮

           android:checked="true" 表示默认选中

        3、定义一组多选按钮

           CheckBox组件用来设置多选按钮

        4、定义一个开关

           ToggleButton组件用来设置开关按钮

           android:checked="true" 默认为开

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical"
        android:id="@+id/activity_button"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
    
        <ImageButton
            android:scaleType="fitXY"
            android:background="@android:color/transparent"
            android:src="@drawable/timg"
            android:onClick="test_click"
            android:layout_width="80dp"
            android:layout_height="80dp" />
    
        <RadioGroup
            android:id="@+id/usexGroup"
            android:orientation="horizontal"
            android:layout_width="match_parent"
            android:layout_height="wrap_content">
            <RadioButton
                android:id="@+id/usex1"
                android:text="男"
                android:checked="true"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" />
            <RadioButton
                android:id="@+id/usex2"
                android:text="女"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" />
        </RadioGroup>
    
        <TextView
            android:text="用户爱好:"
            android:textSize="30sp"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" />
        <LinearLayout
            android:orientation="horizontal"
            android:layout_width="match_parent"
            android:layout_height="wrap_content">
            <CheckBox
                android:id="@+id/ck_1"
                android:text="体育"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" />
            <CheckBox
                android:id="@+id/ck_2"
                android:text="娱乐"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" />
            <CheckBox
                android:id="@+id/ck_3"
                android:text="睡觉"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" />
        </LinearLayout>
        <TextView
            android:text="缓存图像"
            android:textSize="30sp"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" />
        <ToggleButton
            android:checked="true"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />
    </LinearLayout>

    4、ButtonActivity.java

      描述:

        监听按钮选择改变事件

    package com.example.android_ui;
    
    import android.app.Activity;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.Button;
    import android.widget.CheckBox;
    import android.widget.CompoundButton;
    import android.widget.Toast;
    
    public class ButtonActivity extends Activity{
      //获取多选按钮组件
        private CheckBox ck1,ck2,ck3;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_button);
    
            ck1=(CheckBox)findViewById(R.id.ck_1);
            ck2=(CheckBox)findViewById(R.id.ck_2);
            ck3=(CheckBox)findViewById(R.id.ck_3);
         //给每个多选按钮设置选择改变监听事件,即当该多选按钮被选中了就会被监听到
         //onCheckedChange()方法在下面定义了,即将多选按钮传入到onCheckedChange()方法中,再将这个方法又传给setOnCheckedChangeListener()方法中 ck1.setOnCheckedChangeListener(onCheckedChange(ck1)); ck2.setOnCheckedChangeListener(onCheckedChange(ck2)); ck3.setOnCheckedChangeListener(onCheckedChange(ck3)); }   //定义一个点击图片按钮的事件方法,当点击图片按钮时,弹出Hello
    public void test_click(View view){ Toast.makeText(this, "Hello", Toast.LENGTH_LONG).show(); }   //CheckBox多选按钮实现CompoundButton.OnCheckedChangeListener
      //CompoundButton是一个状态切换控件,它只有两种状态,一种是被选中,一种是未被选中
      //OnCheckedChangeListener是CompoundButton类中定义的一个抽象接口,接口中定义了一个onCheckedChange()方法,这个方法中需要传入一个参数
    public CompoundButton.OnCheckedChangeListener onCheckedChange(final View view){
         //实例化这个接口,并重写onCheckedChanged()方法
    return new CompoundButton.OnCheckedChangeListener() { @Override
           //CompoundButton是一个状态切换控件,它只有两种状态,一种是被选中,一种是未被选中
    public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
              //将上面传入进来的view强转成多选按钮,并实例化一个多选按钮 CheckBox cb
    =(CheckBox)view;
              //判断传入进来的这个按钮是否被选中
    if(cb.isChecked()) {
                //判断ck1按钮的id是否和多选按钮中的一个id相等,如果相等则将这个相等的按钮的文本内容弹出来
    if (view.getId() == ck1.getId()) {
                  //如果条件成立,则获取被选中按钮的文本内容,并转化为字符串弹出来 Toast.makeText(ButtonActivity.
    this, ck1.getText().toString(), Toast.LENGTH_LONG).show(); } if (view.getId() == ck2.getId()) { Toast.makeText(ButtonActivity.this, ck2.getText().toString(), Toast.LENGTH_LONG).show(); } if (view.getId() == ck3.getId()) { Toast.makeText(ButtonActivity.this, ck3.getText().toString(), Toast.LENGTH_LONG).show(); } } } }; } }

     

    转载于:https://www.cnblogs.com/zn615/p/8195970.html

    展开全文
  • Java图形界面设计完成后,就可以进行事件监听处理啦,在这里简单的实现单选按钮以及按钮的响应事件。 (1)单选按钮监听,方法一,自定义内部类 //声明 JRadioButton r1; //实例化内部类对象 private ...
  • java swing中实现列表中加入单选按钮单选按钮发生变化时能触发事件 package test; import java.awt.Component; import java.awt.event.ItemEvent; import java.awt.event.ItemListener; import java.awt.event....
  • java编程创建单选按钮

    2015-10-07 22:24:47
    java编程来实现单选按钮组件,通过使用单选按钮来实现性别选择,并创建监听器进行监听
  • 效果图: 代码: import java.io.File ;...import java.awt.Container ;...import java.awt.GridLayout ;...import java.awt.event.WindowAdapter ;...import java.awt.event.ItemListener...import java.awt.event.ItemEve
  • Java-Swing-单选按钮

    千次阅读 2017-05-05 17:14:27
    在Swing中实现单选按钮非常简单,-为单选按钮构造一个ButtonGroup对象;然后把JRadioButton类型的对象添加到ButtonGroup中。这里的ButtonGroup按钮组负责按下新按钮时取消前一次按下的操作。 //定义单选按钮 ...
  • public class _a9_按钮事件2_单选按钮 { public static void main(String[] args) { new myButten2("颜色变化单选框"); } } class myButten2 extends JFrame{ //单选按钮 JRadioButton rad1 , rad
  • layui单选事件监听

    千次阅读 2019-11-20 15:15:58
    layui单选事件监听 <form class="layui-form dianxuan" action=""style="float: left;margin-top: 7px;margin-right: 20px;"> <div class="layui-form-item"> <label class="layui-form-label...
  • 事件表示程序和用户之间的交互,例如在文本框中输入,在列表框或组合框中选择,选中复选框和单选框,单击按钮等。事件处理表示程序对事件的响应,对用户的交互或者说对事件的处理是事件处理程序完成的。 当事件发生...
  • Swing学习13:Java Swing事件监听

    千次阅读 2020-03-13 15:07:45
    事件表示程序和用户之间的交互,例如在文本框中输入,在列表框或组合框中选择,选中复选框和单选框,单击按钮等。事件处理表示程序对事件的响应,对用户的交互或者说对事件的处理是事件处理程序完成的。 当事件发生...
  • 使用真机调试的时候,要适应真机的...单选按钮 默认选中:用 checked属性 为true是选中 <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" > <TextView ...
  • 事件表示程序和用户之间的交互,例如在文本框中输入,在列表框或组合框中选择,选中复选框和单选框,单击按钮等。事件处理表示程序对事件的响应,对用户的交互或者说对事件的处理是事件处理程序完成的。 当事件发生...
  • 事件表示程序和用户之间的交互,例如在文本框中输入,在列表框或组合框中选择,选中复选框和单选框,单击按钮等。事件处理表示程序对事件的响应,对用户的交互或者说对事件的处理是事件处理程序完成的。 当事件发生...
  • JavaSwing_2.3: JRadioButton(单选按钮

    万次阅读 多人点赞 2017-07-08 23:20:06
    JRadioButton,单选按钮
  • import java.awt.Container; import java.awt.GridLayout; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import javax.swing.BorderFactory; import javax.swing.Button...
  • JavaSwing:JRadioButton-单选按钮开发详解

    千次阅读 2020-04-30 16:26:08
    单选按钮的实现-可以选择或取消选择的项目,并向用户显示其状态。 与ButtonGroup对象一起使用以创建一组按钮,其中一次只能选择一个按钮。 (创建一个ButtonGroup对象,并使用其add方法在该组中包括JRadioButton对象...
  • 这样一组选框通常称为单选按钮组(Radio Button Group),这是因为这些按钮的工作很像收音机 上的电台选择按钮。当按下一个按钮时,前一个按下的按钮就会自动弹起。  在Swing中,实现单选按钮
  • Java GUI事件监听

    千次阅读 2014-07-11 22:30:50
    Java中,事件处理的基本思路: 1.一个yuan
  • 单选按钮

    2019-09-25 22:41:19
    1. 单选按钮(RadioButton)的基本概念 2. RadioGroup和RadioButton 3. OnClickedListener和OnClickedChangeListener监听器 1. 单选按钮(RadioButton)的基本概念 一组单选按钮只能被选中一个 2. ...
  • java事件监听

    2017-01-07 12:08:25
    Timer组件实现定时器功能,一个Timer对象,每隔delay时间,执行AtionEvent事件。Timer类声明如下:public class Timer implements Serializable { public Timer(int delay,ActionListener listener) //delay设置...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 7,908
精华内容 3,163
关键字:

java单选按钮监听事件

java 订阅