网友通过本文主要向大家介绍了皇室公主玩转校园,小鬼当家4 玩转新居,玩转娱乐圈之潜规则,小鬼当家2 玩转纽约,大罗金仙玩转都市等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
玩转Android---事件监听篇---第2篇,android---第2篇
事件监听篇---第二篇
下面是各种常用控件的事件监听的使用
①EditText(编辑框)的事件监听---OnKeyListener
②RadioGroup、RadioButton(单选按钮)的事件监听---OnCheckedChangeListener
③CheckBox(多选按钮)的事件监听---OnCheckedChangeListener
④Spinner(下拉列表)的事件监听---OnItemSelectedListener
⑤Menu(菜单)的事件处理---onMenuItemSelected
⑥Dialog(对话框)的事件监听---DialogInterface.OnClickListener()
第一个例子:EditText的事件监听
1 package org.hualang.eventtest2;
2
3 import android.app.Activity;
4 import android.os.Bundle;
5 import android.view.KeyEvent;
6 import android.view.View;
7 import android.widget.EditText;
8 import android.widget.TextView;
9
10 public class EventTest2 extends Activity {
11 /** Called when the activity is first created. */
12 private TextView mytext;
13 private EditText edittext;
14 @Override
15 public void onCreate(Bundle savedInstanceState) {
16 super.onCreate(savedInstanceState);
17 setContentView(R.layout.main);
18 mytext = (TextView)findViewById(R.id.mytext);
19 edittext = (EditText)findViewById(R.id.edittext);
20 /**
21 * 设置当EditText为空,则提示“请输入账号”
22 * 在配置文件main.xml中可以用android:hint="请输入账号"来实现
23 */
24 edittext.setHint("请输入账号");
25 //下面为EditText事件监听
26 edittext.setOnKeyListener(new EditText.OnKeyListener()
27 {
28
29 @Override
30 public boolean onKey(View arg0, int arg1, KeyEvent arg2) {
31 //得到文字,显示在TextView中
32 mytext.setText("内容:"+edittext.getText().toString());
33 return false;
34 }
35
36 });
37 }
38 }
main.xml
1 <?xml version="1.0" encoding="utf-8"?>
2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
3 android:orientation="vertical"
4 android:layout_width="fill_parent"
5 android:layout_height="fill_parent"
6 >
7 <TextView
8 android:layout_width="fill_parent"
9 android:layout_height="wrap_content"
10 android:id="@+id/mytext"
11 />
12 <EditText
13 android:id="@+id/edittext"
14 android:layout_width="fill_parent"
15 android:layout_height="wrap_content"
16 android:textSize="10pt"
17 />
18 </LinearLayout>
运行结果如下:
第二个例子:单选按钮的事件监听处理
1 package org.hualang.eventtest;
2
3 import android.app.Activity;
4 import android.os.Bundle;
5 import android.view.Gravity;
6 import android.widget.RadioButton;
7 import android.widget.RadioGroup;
8 import android.widget.Toast;
9
10 public class EventTest3 extends Activity {
11 /** Called when the activity is first created. */
12 private RadioGroup group;
13 private RadioButton radio1,radio2,radio3,radio4;
14 @Override
15 public void onCreate(Bundle savedInstanceState) {
16 super.onCreate(savedInstanceState);
17 setContentView(R.layout.main);
18
19 group = (RadioGroup)findViewById(R.id.radiogroup1);
20 radio1 = (RadioButton)findViewById(R.id.button1);
21 radio2 = (RadioButton)findViewById(R.id.button2);
22 radio3 = (RadioButton)findViewById(R.id.button3);
23 radio4 = (RadioButton)findViewById(R.id.button4);
24
25 group.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
26
27 @Override
28 public void onCheckedChanged(RadioGroup group, int checkedId) {
29 // TODO Auto-generated method stub
30 if (checkedId == radio2.getId())
31 {
32 showMessage("正确答案:" + radio2.getText()+",恭喜你,答对了");
33 }
34 else
35 {
36 showMessage("对不起,虽然很多,但不是公认的最多");
37 }
38 }
39 });
40 }
41 public void showMessage(String str)
42 {
43 Toast toast = Toast.makeText(this, str, Toast.LENGTH_SHORT);
44 toast.setGravity(Gravity.TOP, 0, 220);
45 toast.show();
46 }
47 }
main.xml
1 <?xml version="1.0" encoding="utf-8"?>
2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
3 android:orientation="vertical"
4 android:layout_width="fill_parent"
5 android:layout_height="fill_parent"
6 >
7 <TextView
8 android:id="@+id/mytextview"
9 android:layout_width="fill_parent"
10 android:layout_height="wrap_content"
11 android:text="哪个城市的美女最多?"
12 />
13 <RadioGroup
14 android:id="@+id/radiogroup1"
15 android:layout_width="wrap_content"
16 android:layout_height="wrap_content"
17 android:orientation="vertical"
18 >
19 <RadioButton
20 android:id="@+id/button1"
21 android:layout_width="wrap_content"
22 android:layout_height="wrap_content"
23 android:text="杭州"
24 />
25 <RadioButton
26 android:id="@+id/button2"
27 android:layout_width="wrap_content"
28 android:layout_height="wrap_content"
29 android:text="重庆"
30 />
31 <RadioButton
32 android:id="@+id/button3"
33 android:layout_width="wrap_content"
34 android:layout_height="wrap_content"
35 android:text="成都"
36 />
37 <RadioButton
38 android:id="@+id/button4"
39 android:layout_width="wrap_content"
40 android:layout_height="wrap_content"
41 android:text="香港"
42 />
43 </RadioGroup>
44 </LinearLayout>
运行结果如下:
第三个例子:复选框的事件处理
1 package org.hualang.eventtest4;
2
3 import android.app.Activity;
4 import android.os.Bundle;
5 import android.view.Gravity;