达内学习第一阶段安卓学习,方便以后对比学习

Android中事件处理

1) OnClickLister():单击事件

 比如:单击按钮, 会触发 setOnClickLister(*);

      单击文本框setOnClickLisetr(*);

      单选按钮组呢???

//OnClickListener():点击事件

ClickListener l1 = new ClickListener();

title_tv.setOnClickListener(l1);

    class ClickListener implements OnClickListener{

        @Override

        public void onClick(View v) {

        }  

    }

 

2) onFocusChangeListener():焦点事件

//onFocusChangeListener():焦点事件

FocusChangeListener l2 = new FocusChangeListener();

input_et.setOnFocusChangeListener(l2);

class FocusChangeListener implements OnFocusChangeListener{

        @Override

        public void onFocusChange(View v, boolean hasFocus) {

            //onFocusChange():获取焦点|失去焦点时,所属控件完成操作

        }

    }

3) onKeyListener():键盘事件

//onKeyListener():键盘事件

OnKeyListener k = new OnkeyListener();

input_et.setOnKeyListener(k);

    class OnkeyListener implements OnKeyListener{

        @Override

        public boolean onKey(View v, int keyCode, KeyEvent event){

            return false;

        }

    }

 

4) OnCheckedChangeListener():单选设置事件处理  

    private RadioButton rb1;

    private RadioButton rb2;

    private RadioButton rb3;

    private RadioGroup  rg;

    @Override

    protected voidonCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.layout_radiobutton);

        rb1 = (RadioButton)findViewById(R.id.radio0);

        rb2 = (RadioButton)findViewById(R.id.radio1);

        rb3 = (RadioButton)findViewById(R.id.radio2);

        rg = (RadioGroup)findViewById(R.id.radioGroup1);

        //3.单选设置事件处理

        rg.setOnCheckedChangeListener(new OnCheckedChangeListener() {

            /* onCheckedChanged():

             * 用于处理具体选择的单选(多选)某一项后,执行的具体操作

*/

            @Override

            public void onCheckedChanged(RadioGroup group, int checkedId) {

            }

        });    

    }

 

5) OnLongClickListener():长按事件---细节

  ImageView

长按图片,改变模拟器背景

1> 定义 ImageView、TextView 控件|声明控件

2> 查找 ImageView、TextView

3> 改变模拟器背景

4> 设置提示文本“长按图片是用来改变模拟器背景的”

//OnLongClickListener():长按事件

LongClickListenerl =new LongClickListener();

pic_iv.setOnLongClickListener(l);

class LongClickListener implements  OnLongClickListener{

//onLongClick:长按某个控件后

@Override

publicbooleanonLongClick(View v){

try{

MainActivity.this.clearWallpaper();//清除模拟器当前的背景

//给模拟器设置新背景图片

//设置背景时有可能也会产生异常,也需要放在try语句块中

//Bitmap bitMap =

//Drawable da=MainActivity.this.pic_iv.getResources().getDrawable(R.id.imageView1);

//setWallpaper需要权限

setWallpaper(MainActivity.this.pic_iv.getResources().openRawResource(R.drawable.folder_music));

//MainActivity.this.setWallpaper(MainActivity.this.pic_iv.getResources().openRawResource(R.drawable.pic4));//获取资源

} catch (IOException e) {

e.printStackTrace();

e.getCause();

e.getMessage();

}finally{//无论如何都会执行。

tishi_tv.setText("长按会改变当前模拟器的背景哦");

}

//getDrawable(R.drawable.pic4));

returntrue;

}

}

 

 

6)Spinner 下拉列表框

1> 获取下拉列表项的内容

    资源文件city_data.xml

        如何设置下拉列表框中每个列表项的内容????

     放在一个资源文件中 xml

     新建一个xml资源文件,在文件中通过添加<item>,构建列表项内容

2> 选中具体某一项时,TextView会显示出提示信息

        Spinner设置事件

        2.1 > 声明Spinner控件 TextView

        2.2 > 查找控件

        2.3 > 为Spinner设置事件OnItemSelectedListener

//OnItemSelectedListener():下拉事件

ItemSelectedListenerk=new ItemSelectedListener();

spCity_sp.setOnItemSelectedListener(k);

class ItemSelectedListener implementsOnItemSelectedListener{

/**onItemSelected():单击|选中了下拉列表框中的某一项时,会执行此方法

* 即:选中列表框中位置为position的那一项时,执行的操作

* AdapteView:是一个抽象类,指的是具体实现它的某个控件,这里指的是spinner

*/

@Override

publicvoidonItemSelected(AdapterView<?> adapterView, View view,int

                             position, long id) {

String value = adapterView.getItemAtPosition(position).toString();

//TextView设置内容

tishi_tv.setText("选中的是:"+value);

}

@Override

publicvoidonNothingSelected(AdapterView<?> parent) {

//什么都没有写

}

}

 

7)模拟实现类似于搜索框自动提示功能

1> 效果:类似于在百度搜索框中输入某个单词,会列出以这个单词开头的某些单词或者

使用频率列出的某些单词。

1> 自动提示框AutoCompleteTextView常用属性

2> 为AutoCompleteTextView设置数据

数据如何获取???

如何设置呢???

2> 适配器

   2.1> ArrayAdapter :最简单的一种适配器,将数组或者其它简单的内容通过设置放到界面上。

      基本结构:

       ArrayAdapter<???>adapter = new ArrayAdapter<???>

      (参数1,参数2,参数3);

      参数1:上下文对象  this|MainActivity.this

      参数2:显示样式

      参数3:数据源

   2.2> SimpleAdapter:操作的数据源主要是集合或者其它比较复杂的数据类型。

   2.3> BaseAdapter:Android中提供的使用最广泛的一种适配器。它是抽象的,不能直接使用,需要自己定义一个类,然后继承。

     BaseAdapter,有四个方法:

       getItem():

       getItemId():

       getCount():

       getView():

 

android:completionHint="" 弹出的提示框的默认标题

android:completionThreshold="2" 设置输入几个字符才会弹出提示

//为控件设置数据(String数组中的数据)

//1 新建一个适配器,此适配器用于将数组内容显示至控件中

ArrayAdapter<String> adapter = newArrayAdapter<String>(

MainActivity.this,//上下文对象

android.R.layout.simple_dropdown_item_1line,

字符串数组);//数据源

//android.R.layout.simple_dropdown_item_1line    样式

//2 设置适配器各种属性

//暂时不写

//4.3 AutoCompleteTextView设置适配器

auto_tv.setAdapter(adapter);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值