Android——监听事件总结1

各种监听事件

1.按钮 Button
(1)点击监听
btn_1.setOnClickListener(new View.OnClickListener() {

(2)长按监听
btn_1.setOnLongClickListener(new View.OnLongClickListener() {

2.单选框 RadioGroup
radio_gp.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {

3.复选框 CheckBox(普通内部类)
cb_fuxuan1.setOnCheckedChangeListener(new checkboxcheckedlistener());
cb_fuxuan2.setOnCheckedChangeListener(new checkboxcheckedlistener());

private class checkboxcheckedlistener implements CompoundButton.OnCheckedChangeListener
{

4.上下文菜单 ContextMenu(需要长按才能触发)

changan_menu.setOnCreateContextMenuListener(this);
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {
//获取值
public boolean onContextItemSelected(MenuItem item) {
item.getItemId()

5.进度条 SeekBar(可拖动)

sbr_td.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {

6.开关 开关按钮:ToggleButton 推拉开关 Switch

tb.setOnCheckedChangeListener(new anniucheckedlistener());
private class anniucheckedlistener implements CompoundButton.OnCheckedChangeListener{

xml

<?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">

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/textview1"
        android:text="有链接吗?"
        android:autoLink="all"
        />
    <AutoCompleteTextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/autv_1"
        />
    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="按钮的监听"
        android:id="@+id/btn_1"
        android:background="@drawable/anniu1"
        />
    <RadioGroup
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:id="@+id/radio_gp">

        <RadioButton
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="是"
            android:id="@+id/rb_shi"/>
        <RadioButton
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="否"
            android:id="@+id/rb_fou"/>
    </RadioGroup>

    <EditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="hello world"
        android:id="@+id/et_1"/>

    <CheckBox
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="复选一"
        android:id="@+id/cb_fuxuan1"/>
    <CheckBox
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="复选二"
        android:id="@+id/cb_fuxuan2"
        />
    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="长按触发上下文菜单"
        android:id="@+id/menu_1"/>

    <SeekBar
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:max="100"
        android:id="@+id/sbr_tuodong"/>
    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@drawable/anniu2"
        android:id="@+id/iv_bian"
        />
    <ToggleButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textOn="开"
        android:textOff="关"
        android:id="@+id/tgb_1"/>
    <Switch
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/swh_1"/>

</LinearLayout>

java

package com.example.chenshuai.test322;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.text.util.Linkify;
import android.view.ContextMenu;
import android.view.MenuItem;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.SeekBar;
import android.widget.Switch;
import android.widget.TextView;
import android.widget.Toast;
import android.widget.ToggleButton;

/**
 * Created by chenshuai on 2016/4/1.
 */
public class Jianting extends AppCompatActivity {

    ImageView iv_bian;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.jiantinglayout);

        //Textview
        TextView textview1 = (TextView)findViewById(R.id.textview1);
        textview1.setAutoLinkMask(Linkify.ALL);

        String linktext = "百度链接 www.baidu.com";
        textview1.setText(linktext);

        //AutoCompleteTextView
        AutoCompleteTextView autv_1 = (AutoCompleteTextView)findViewById(R.id.autv_1);
        String[] str = {"ab","abc","abcd"};

        ArrayAdapter<String> stringArrayAdapter= new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,str);

        autv_1.setAdapter(stringArrayAdapter);

        //Button 点击
        Button btn_1 = (Button)findViewById(R.id.btn_1);
        btn_1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                Toast.makeText(Jianting.this, "按钮点击监听", Toast.LENGTH_SHORT).show();
            }
        });

        //Button 长按监听
        btn_1.setOnLongClickListener(new View.OnLongClickListener() {
            @Override
            public boolean onLongClick(View v) {

                Toast.makeText(Jianting.this, "按钮长按监听", Toast.LENGTH_SHORT).show();
                return false;
            }
        });
        //RadioGroup 的监听
        RadioGroup radio_gp = (RadioGroup)findViewById(R.id.radio_gp);
        radio_gp.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(RadioGroup group, int checkedId) {

                RadioButton rb_shi = (RadioButton) findViewById(R.id.rb_shi);

                RadioButton rb_fou = (RadioButton) findViewById(R.id.rb_fou);

                switch (checkedId) {
                    case R.id.rb_shi:
                        Toast.makeText(Jianting.this, "选中了" + rb_shi.getText(), Toast.LENGTH_SHORT).show();

                    case R.id.rb_fou:
                        Toast.makeText(Jianting.this, "选中了" + rb_fou.getText(), Toast.LENGTH_SHORT).show();

                }

            }
        });

        //显示Edittext的输入内容
        EditText editText = (EditText)findViewById(R.id.et_1);

        String str1 = editText.getText().toString();

        Toast.makeText(Jianting.this, str1, Toast.LENGTH_SHORT).show();

        //checkbox的监听

        CheckBox cb_fuxuan1 = (CheckBox)findViewById(R.id.cb_fuxuan1);
        cb_fuxuan1.setOnCheckedChangeListener(new checkboxcheckedlistener());

        CheckBox cb_fuxuan2 = (CheckBox)findViewById(R.id.cb_fuxuan2);
        cb_fuxuan2.setOnCheckedChangeListener(new checkboxcheckedlistener());

        //menu 菜单 上下文菜单
        Button changan_menu = (Button)findViewById(R.id.menu_1);
        changan_menu.setOnCreateContextMenuListener(this);

        //SeekBar 可拖动进度条
        SeekBar sbr_td = (SeekBar)findViewById(R.id.sbr_tuodong);

        sbr_td.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
            @Override
            public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {

            }

            @Override
            public void onStartTrackingTouch(SeekBar seekBar) {

            }

            @Override
            public void onStopTrackingTouch(SeekBar seekBar) {

            }
        });

        //开关键控制按钮背景
        iv_bian = (ImageView)findViewById(R.id.iv_bian);

        //开关按钮
        ToggleButton tb = (ToggleButton)findViewById(R.id.tgb_1);

        tb.setOnCheckedChangeListener(new anniucheckedlistener());

        //推拉开关
        Switch swh = (Switch)findViewById(R.id.swh_1);
        swh.setOnCheckedChangeListener(new anniucheckedlistener());
    }

    //普通内部类  checkbox的监听
    private class checkboxcheckedlistener implements CompoundButton.OnCheckedChangeListener
    {
        @Override
        public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {

            CheckBox cb = (CheckBox)buttonView;

            if (isChecked)
            {
                Toast.makeText(Jianting.this, "选中了"+cb.getText(), Toast.LENGTH_SHORT).show();
            }
            else
            {
                Toast.makeText(Jianting.this, "取消选中了"+cb.getText(), Toast.LENGTH_SHORT).show();
            }
        }
    }

    //menu 菜单 上下文菜单
    @Override
    public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {
        menu.add(1,1,1,"添加");
        menu.add(1,2,2,"删除");
        menu.add(1,3,3,"修改");
        super.onCreateContextMenu(menu, v, menuInfo);
    }

    @Override
    public boolean onContextItemSelected(MenuItem item) {

        switch (item.getItemId())
        {
            case 1:
                Toast.makeText(Jianting.this, "触发了添加功能", Toast.LENGTH_SHORT).show();
            case 2:
                Toast.makeText(Jianting.this, "触发了删除功能", Toast.LENGTH_SHORT).show();
            case 3:
                Toast.makeText(Jianting.this, "触发了修改功能", Toast.LENGTH_SHORT).show();
        }
        return super.onContextItemSelected(item);
    }

    private class anniucheckedlistener implements CompoundButton.OnCheckedChangeListener{

        @Override
        public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
            if (isChecked)
            {
                iv_bian.setImageResource(R.drawable.anniu1);
            }
            else
            {
                iv_bian.setImageResource(R.drawable.anniu2);
            }
        }
    }
}
时间: 2024-10-03 14:03:06

Android——监听事件总结1的相关文章

Android成长日记-Android监听事件的方法

1. Button鼠标点击的监听事件 --setOnClickListener 2. CheckBox, ToggleButton , RadioGroup的改变事件 --setOnCheckedChangeListener Eg: 3. onPageChangeListener() ----用来监控ViewPager滑到第几页

Android 监听事件

安卓中监听事件的三种实现方式 1.匿名内部类的实现方式 2.独立类的实现方式 3.实现接口方式实现 一.匿名内部类的实现 1.首先声明一个Button //声明一个Button private Button Listener1; 2.设置Button的监听器,并且通过匿名内部类的方式实现 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //设置Bu

求助 android监听事件 实现代码监听鼠标的左键,中间键,右键

============问题描述============ 在编写代码中能够实现监听的键盘和手机的home键等,但是我一直没有找到怎么去监听到数遍的三个键,左键.右键.中间键. ============解决方案1============ android是有鼠标的. 通常,设置你的 /system/usr/idc/<your touch panel>.idc文件中的 touch.deviceType = Pointer 就是鼠标了. 现在市面上已经卖了不少用android做的智能手机或dongle

Android监听事件

ListView事件监听: setOnItemSelectedListener 鼠标滚动时触发 setOnItemClickListener 点击时触发 EditText事件监听: setOnKeyListener 获取焦点时触发 RadioGroup事件监听: setOnCheckedChangeListener 点击时触发 CheckBox事件监听: setOnCheckedChangeListener 点击时触发 Spinner事件监听: setOnItemSelectedListener

Android中Button的五种监听事件

简单聊一下Android中Button的五种监听事件: 1.在布局文件中为button添加onClick属性,Activity实现其方法2.匿名内部类作为事件监听器类3.内部类作为监听器4.Activity本身作为事件监听器,实现onClickListener5.外部类作为监听器 ButtonListenerActivity.class public class ButtonListenerActivity extends AppCompatActivity implements View.On

Android中Preference的使用以及监听事件分析

> 在Android系统源码中,绝大多数应用程序的UI布局采用了Preference的布局结构,而不是我们平时在模拟器中构建应用程序时使用的View布局结构,例如,Setting模块中布局.当然,凡事都有例外,FMRadio应用程序中则使用了View布局结构(可能是该应用程序是marvel公司提供的,如果由google公司做,那可说不准).归根到底,Preference布局结构和View的布局结构本质上还是大同小异,Preference的优点在于布局界面的可控性和高效率以及可存储值的简洁性(每个

Android 属性动画监听事件与一个菜单的例子

简单监听事件 package com.example.animation; import android.animation.Animator; import android.animation.Animator.AnimatorListener; import android.animation.AnimatorListenerAdapter; import android.animation.AnimatorSet; import android.animation.ObjectAnimat

Android 监听EditView中的文本改变事件

android中的编辑框EditText也比较常用,那比如在搜索框中,没输入一个字,下面的搜索列表就显示有包含输入关键字的选项,这个输入监听怎么实现的呢? 我们可以建一个例子,效果图如下: 我们可以监听光标处在哪个位置,选择了几个字符并处理,输入了几个字符 先新建布局文件 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.a

android监听虚拟键盘隐藏和显示事件

刚开始在onconfigurationChanged中监听,结果发现该方法在configuration变化即配置文件发生变化时才会被调用,如横竖屏切换,android重新载入配置文件时.而键盘隐藏不会触发该方法. 后来采用如下方法完美解决了键盘隐藏监听事件. //该Activity的最外层Layout finalView activityRootView = findViewById(R.id.activityRoot); //给该layout设置监听,监听其布局发生变化事件 activityR