控件:RadioButton CheckedBox RatingBar ProgressBarhtml
下拉列表:ListView Spinnerjava
1 <!-- 單選按鈕必須放在單選按鈕組當中才能生效 ,而且須要爲每個控件指定id 2 (html:<input name="sex"/>男 <input name="sex"/>女) 3 --> 4 <RadioGroup 5 android:id="@+id/rg" 6 android:layout_width="wrap_content" 7 android:layout_height="wrap_content" 8 > 9 <RadioButton 10 android:id="@+id/rb_man" 11 android:layout_width="wrap_content" 12 android:layout_height="wrap_content" 13 android:text="男" 14 /> 15 <RadioButton 16 android:id="@+id/rb_woman" 17 android:layout_width="wrap_content" 18 android:layout_height="wrap_content" 19 android:text="女" 20 android:checked="true" 21 /> 22 </RadioGroup> 23 24 <!-- 增長複選框控件 --> 25 <CheckBox 26 android:id="@+id/cb1" 27 android:layout_width="wrap_content" 28 android:layout_height="wrap_content" 29 android:text="看NBA" 30 /> 31 32 <CheckBox 33 android:id="@+id/cb2" 34 android:layout_width="wrap_content" 35 android:layout_height="wrap_content" 36 android:text="逛街" 37 android:checked="true" 38 /> 39 <CheckBox 40 android:id="@+id/cb3" 41 android:layout_width="wrap_content" 42 android:layout_height="wrap_content" 43 android:text="睡覺" 44 /> 45 <!-- 增長RadtingBar 46 numStars:當前有幾個RatingBar 47 rating:當前默認選中幾個RatingBar 48 --> 49 <RatingBar 50 android:id="@+id/rbar" 51 android:layout_width="wrap_content" 52 android:layout_height="wrap_content" 53 android:numStars="5" 54 android:rating="3" 55 android:stepSize="1" 56 />
1 /** 2 * 單選按鈕和監聽 3 * 複選框和監聽 4 * RatingBar和監聽 5 */ 6 7 //在處理單選按鈕監聽的時候不須要分別去處理每個控件 8 //只須要處理當前控件所在的組. 9 //【打印輸出最好是不要使用純數字打印】 10 //郵件服務器和客戶端 11 //常量值 12 rg.setOnCheckedChangeListener(new OnCheckedChangeListener() { 13 public void onCheckedChanged(RadioGroup group, int checkedId) { 14 //System.out.println("checkId:"+checkedId); 15 if(checkedId == R.id.rb_man){ 16 //選擇是男 17 //往界面上輸出打印男 18 //參數1:當前對象 19 //參數2:輸入的內容 20 //參數3:顯示的時間 21 Toast.makeText(MainActivity.this, "男", Toast.LENGTH_LONG).show(); 22 }else if(R.id.rb_woman == checkedId){ 23 //選擇是女 24 Toast.makeText(MainActivity.this, "女", Toast.LENGTH_SHORT).show(); 25 } 26 } 27 }); 28 29 //監聽多選按鈕(實現接口的監聽的時候須要在前面加上CompoundButton) 30 cb1.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { 31 @Override 32 public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { 33 if(isChecked){ 34 Toast.makeText(MainActivity.this, "看NBA", 1).show(); 35 } 36 } 37 }); 38 39 //監聽rbar給出評分 40 rbar.setOnRatingBarChangeListener(new OnRatingBarChangeListener() { 41 @Override 42 public void onRatingChanged(RatingBar ratingBar, float rating, 43 boolean fromUser) { 44 if(fromUser){ 45 //System.out.println("rating:------->"+rating); 46 //switch:byte short char int enum String(JDK>=7.0) 47 if(1==rating){ 48 Toast.makeText(MainActivity.this, "很差吃", 1).show(); 49 }else if(3 == rating){ 50 Toast.makeText(MainActivity.this, "還能夠", 1).show(); 51 }else if(5 == rating){ 52 Toast.makeText(MainActivity.this, "美味", 1).show(); 53 } 54 } 55 } 56 });
Spinnerandroid
1 mySpinner=(Spinner) findViewById(R.id.mySpinner); 2 3 //數組存放TextView裏面的行的數據 4 List<String> list=new ArrayList<String>(); 5 list.add("向雲鵬"); 6 list.add("汪偉"); 7 list.add("朱攀"); 8 list.add("楊洋"); 9 10 //利用適配器(三個視頻)將下拉列表和視圖發生關係 11 ArrayAdapter<String> adapter= 12 new ArrayAdapter<String>(MainActivity.this, R.layout.items, R.id.tv, list); 13 14 //將適配器裝到下拉列表中 15 mySpinner.setAdapter(adapter); 16 //設置標題 17 mySpinner.setPrompt("武漢科技大學人才榜"); 18 19 //監聽Spinner 20 mySpinner.setOnItemSelectedListener(new OnItemSelectedListener() { 21 @Override 22 public void onItemSelected(AdapterView<?> parent, View view, 23 int position, long id) { 24 String item=parent.getItemAtPosition(position).toString(); 25 System.out.println("選擇的是:---------->"+item); 26 } 27 28 @Override 29 public void onNothingSelected(AdapterView<?> parent) { 30 System.out.println("沒有選擇"); 31 } 32 });
廣播機制:數組
1.自定義服務器
a.程序中註冊廣播ide
b.菜單中註冊廣播佈局
2.系統廣播(充電,開機)this
系統廣播(服務Service)spa
自定義:3d
例:菜單中註冊廣播
1 /** 2 * 在菜單中進行廣播的註冊(eg:發送一個廣播有一個接受者能夠收到,另一個收不到) 3 * 先註冊--->發送廣播-->接受 4 */ 5 6 //發送廣播 7 Intent in=new Intent(); 8 //增長廣播信息的區分 9 in.setAction(Intent.ACTION_EDIT); 10 //發送廣播 11 sendBroadcast(in);
//普通類 --變成--> 接受者
//1.繼承BroadCastReceiver
//2.實現裏面OnReceive方法
//3.在菜單中對接受者進行註冊
1 <!-- 註冊接受者 --> 2 <receiver 3 android:name="com.example.mybroadcast1.AReceiver" 4 > 5 <intent-filter > 6 <action android:name="android.intent.action.EDIT"/> 7 </intent-filter> 8 </receiver> 9 <receiver 10 android:name="com.example.mybroadcast1.BReceiver" 11 ></receiver>
例:程序中註冊廣播
1 /** 2 * 在程序中註冊廣播 3 */ 4 private AReceiver receiver; 5 protected static final String ACTION_A = "com.example.mybroadcast2.ACTION_A"; 6 7 //1.註冊廣播 8 findViewById(R.id.button1).setOnClickListener(new OnClickListener() { 9 @Override 10 public void onClick(View v) { 11 receiver = new AReceiver(); 12 IntentFilter IF=new IntentFilter(); 13 IF.addAction(ACTION_A); 14 //註冊 15 registerReceiver(receiver, IF); 16 } 17 }); 18 19 //2.發送廣播 20 findViewById(R.id.button2).setOnClickListener(new OnClickListener() { 21 public void onClick(View v) { 22 //發送 23 Intent intent=new Intent(); 24 intent.setAction(ACTION_A); 25 sendBroadcast(intent); 26 } 27 }); 28 //3.撤銷廣播 29 findViewById(R.id.button3).setOnClickListener(new OnClickListener() { 30 public void onClick(View v) { 31 if(receiver!=null) 32 unregisterReceiver(receiver); 33 } 34 });