• android 05


    控件:RadioButton  CheckedBox  RatingBar  ProgressBar

    下拉列表:ListView Spinner

     

     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         });
    java代码

    Spinner

     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         });
    Spinner

    广播机制:

      1.自定义

        a.程序中注册广播

        b.菜单中注册广播

      2.系统广播(充电,开机)

          系统广播(服务Service)

        

     

    自定义:

    例:菜单中注册广播

     1 /**
     2  *     在菜单中进行广播的注册(eg:发送一个广播有一个接受者可以收到,另外一个收不到)
     3  *  先注册--->发送广播-->接受
     4  */
     5 
     6                       //发送广播
     7                       Intent  in=new Intent();
     8                       //增加广播信息的区分
     9                       in.setAction(Intent.ACTION_EDIT);
    10                       //发送广播
    11                       sendBroadcast(in);
    BroadCast

    //普通类 --变成--> 接受者

    //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>
    Manifest

    例:程序中注册广播

     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         });
    在程序中注册广播

     

  • 相关阅读:
    基于麦克风阵列的声源定位算法之GCC-PHAT
    Parametric and Non-parametric Algorithms
    MATLAB中运算符优先级
    [HAOI2018]染色
    [SHOI2016]黑暗前的幻想乡
    [SCOI2012]滑雪
    [PA2014]Kuglarz
    Stroll
    [SDOI2010]大陆争霸
    解决IDEA Gradle构建报错"Cause: zip END header not found"
  • 原文地址:https://www.cnblogs.com/aze-003/p/5251929.html
Copyright © 2020-2023  润新知