zoukankan      html  css  js  c++  java
  • Android_baseComponentExample

    xml布局文件:

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        tools:context=".MainActivity" >
        <LinearLayout 
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            >
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="学号:"
                android:textSize="20sp"
                />
        <AutoCompleteTextView 
            android:id="@+id/actv_number"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:ems="5"
            android:hint="请输入学号"
            android:inputType="number"
            android:completionThreshold="2"/>
          </LinearLayout>
          <LinearLayout 
              android:layout_width="match_parent"
              android:layout_height="wrap_content"
              android:orientation="horizontal">
              <TextView 
                  android:layout_width="wrap_content"
                  android:layout_height="wrap_content"
                  android:text="密 码:"
                  android:textSize="20sp"/>
              <EditText 
                  android:id="@+id/et_psd"
                  android:layout_width="match_parent"
                  android:layout_height="wrap_content"
                  android:hint="请输入密码"
                  android:textSize="20sp"
                  android:inputType="textPassword"/>
          </LinearLayout>
          <RelativeLayout 
              android:layout_width="match_parent"
              android:layout_height="wrap_content"
              android:layout_marginTop="10dp"    
              >
              <TextView 
                  android:id="@+id/hobby"
                  android:layout_width="wrap_content"
                  android:layout_height="wrap_content"
                  android:text="爱好:"
                  android:textSize="20sp"
                  />
              <CheckBox 
                  android:id="@+id/cb_1"
                  android:layout_width="wrap_content"
                  android:layout_height="wrap_content"
                  android:layout_below="@id/hobby"
                  android:layout_alignParentLeft="true"
                  android:text="唱歌"
                  android:checked="true"
                  android:textSize="15sp"/>
              <CheckBox 
                  android:id="@+id/cb_2"
                  android:layout_width="wrap_content"
                  android:layout_height="wrap_content"
                  android:layout_below="@id/hobby"
                  android:layout_toRightOf="@id/cb_1"
                  android:layout_marginLeft="5dp"
                  android:text="打球"
                  android:checked="true"
                  android:textSize="15sp"/>
              <CheckBox 
                  android:id="@+id/cb_3"
                  android:layout_width="wrap_content"
                  android:layout_height="wrap_content"
                  android:layout_below="@id/hobby"
                  android:layout_toRightOf="@id/cb_2"
                  android:layout_marginLeft="5dp"
                  android:text="玩游戏"
                  android:textSize="15sp"/>
              <CheckBox 
                  android:id="@+id/cb_4"
                  android:layout_width="wrap_content"
                  android:layout_height="wrap_content"
                  android:layout_below="@id/hobby"
                  android:layout_toRightOf="@id/cb_3"
                  android:text="敲代码"
                  android:textSize="15sp"
                  />
              <CheckBox 
                  android:id="@+id/cb_all"
                  android:layout_width="wrap_content"
                  android:layout_height="wrap_content"
                  android:text="全选"
                  android:textSize="15sp"
                  android:layout_below="@id/cb_1"
                  android:layout_centerHorizontal="true"/>
          </RelativeLayout>
          <TextView 
              android:layout_width="wrap_content"
              android:layout_height="wrap_content"
              android:text="性别:"
              android:textSize="20sp"
              />
        <Spinner 
            android:id="@+id/sex"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            />
          <LinearLayout 
              android:layout_width="match_parent"
              android:layout_height="wrap_content"
              android:orientation="horizontal">
              <Button 
            android:id="@+id/commit"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="bottom"
            android:text="提交"
            android:textSize="15sp"
            />
        <Button 
            android:id="@+id/reset"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="bottom"
            android:text="重置"
            android:textSize="15sp"
            />
        </LinearLayout>
    </LinearLayout>

    源代码:

    package com.example.day04_work;
    
    import java.util.ArrayList;
    import java.util.List;
    
    import android.os.Bundle;
    import android.app.Activity;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.AdapterView;
    import android.widget.ArrayAdapter;
    import android.widget.AutoCompleteTextView;
    import android.widget.Button;
    import android.widget.CheckBox;
    import android.widget.CompoundButton;
    import android.widget.Spinner;
    import android.widget.Toast;
    import android.widget.CompoundButton.OnCheckedChangeListener;
    import android.widget.EditText;
    public class MainActivity extends Activity implements OnClickListener,OnCheckedChangeListener{
    
        private EditText et_psd;
        private CheckBox cb_1;
        private CheckBox cb_2;
        private CheckBox cb_3;
        private CheckBox cb_4;
        private CheckBox cb_all;
        private Student student = new Student();
        private Button reset;
        private Button commit;
        private List<CheckBox> check1;
        private String srcnumber;
        private String srcpsd;
        private AutoCompleteTextView actv_number;
        private CheckBox[] checks;
        private Spinner spinner_sex;
        private String sex;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
           actv_number= (AutoCompleteTextView) findViewById(R.id.actv_number);
           //得到数据源
           String[] stringArray = getResources().getStringArray(R.array.number);
          //定义适配器
           ArrayAdapter<String>adapter = new ArrayAdapter<String>(MainActivity.this, android.R.layout.simple_dropdown_item_1line,stringArray);
           //设置适配器
           actv_number.setAdapter(adapter);
               //得到控件
           et_psd = (EditText)findViewById(R.id.et_psd);
           cb_1 = (CheckBox) findViewById(R.id.cb_1);
           cb_2 = (CheckBox) findViewById(R.id.cb_2);
           cb_3= (CheckBox) findViewById(R.id.cb_3);
           cb_4 = (CheckBox) findViewById(R.id.cb_4);
           cb_all =(CheckBox)findViewById(R.id.cb_all);
           reset = (Button)findViewById(R.id.reset);
           commit = (Button)findViewById(R.id.commit);
           
           spinner_sex= (Spinner) findViewById(R.id.sex);
           ArrayAdapter<String> adapter2 = new ArrayAdapter<String>(getApplicationContext(), android.R.layout.simple_dropdown_item_1line,new String[]{"男","女"});
           spinner_sex.setAdapter(adapter2);
           //得到初始化时的所有数据
           getInitialContent();
               //为所有控件设置监听事件
           actv_number.setOnClickListener(this);
           et_psd.setOnClickListener(this);
           cb_1.setOnCheckedChangeListener(this);
           cb_2.setOnCheckedChangeListener(this);
           cb_3.setOnCheckedChangeListener(this);
           cb_4.setOnCheckedChangeListener(this);
           cb_all.setOnCheckedChangeListener(this);
           //提交按钮监听事件
           commit.setOnClickListener(new OnClickListener() {
               
    
    
            @Override
            public void onClick(View v) {
                String number = actv_number.getText().toString();
                String psd = et_psd.getText().toString();
                if(number.length()!=0 && psd.length()!=0){
                    student.setNumber(Integer.parseInt(number));
                    student.setPsd(psd);
                }else{
                    Toast.makeText(MainActivity.this, "学号密码不能为空!", 0).show();
                    return;
                }
                String result = "";
                // TODO Auto-generated method stub
                for (CheckBox checkBox : checks) {
                    if(checkBox.isChecked()){
                        result +=checkBox.getText().toString();
                    }
                }
                //安卓自带工具 TextUtils textUtils判断字符串是否为空
                //TextUtils.isEmpty(string)
                if(result.length()!=0){
                    student.setHobby(result);
                }else{
                    Toast.makeText(MainActivity.this, "爱好不能为空", 0).show();
                }
                student.setSex(sex);
                Toast.makeText(MainActivity.this, student.toString(), 1).show();
                
            }
        });
           //重置按钮监听事件
           reset.setOnClickListener(new OnClickListener() {
            
            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                et_psd.setText(srcpsd);
                //学号获得焦点,光标在学号输入框上
                actv_number.requestFocus();
                actv_number.setText(srcnumber);
                //将初始化复选框数组中的控件设置为选中
                for (CheckBox checkBox2 : check1) {
                    checkBox2.setChecked(true);
                }
                //遍历所有复选框,如果初始化复选框控件中不包含该复选框,设置为不选中
                for (CheckBox checkBox : checks) {
                    if(!check1.contains(checkBox)){
                        checkBox.setChecked(false);
                    }
                }
                spinner_sex.setSelection(0, true);
            }
            
        });
           //下拉列表选择性别
          spinner_sex.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
    
    
            @Override
            public void onItemSelected(AdapterView<?> parent, View view,
                    int position, long id) {
                sex = spinner_sex.getItemAtPosition(position).toString();
                
            }
    
            @Override
            public void onNothingSelected(AdapterView<?> parent) {
                // TODO Auto-generated method stub
                
            }
        }) ;
    
        }
        /**
         * 得到初始化数据
         */
        private void getInitialContent() {
            // TODO Auto-generated method stub
               srcnumber = actv_number.getText().toString();
               srcpsd = et_psd.getText().toString();
               checks = new CheckBox[] {cb_1,cb_2,cb_3,cb_4,cb_all};
               check1 = new ArrayList<CheckBox>();
               for (CheckBox checkBox : checks) {
                   if(checkBox.isChecked()){
                       check1.add(checkBox);
                }
            }
               spinner_sex.setSelection(0, true);
        }
    
        /**
         复选框监听事件:
         * 全选功能:
         * 1.全选状态改变:
         *        1.1 全选框选中时,所有复选框都选中
         *         1.2全选框取消时,如果所有复选框都为选中状态,则将所有复选框设置为不选中
         * 2.其他复选框选中时:
         *         2.1当所有复选框选中时,将全选框设置为选中
         *         2.2否则,将全选框设置为不选中
         */
        @Override
        public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
            List<String> list = new ArrayList<String>();
            // TODO Auto-generated method stub
                if(buttonView.getId() == cb_all.getId()){
                    if(cb_all.isChecked()){
                        cb_1.setChecked(true);
                        cb_2.setChecked(true);
                        cb_3.setChecked(true);
                        cb_4.setChecked(true);
                    }else if(cb_1.isChecked() && cb_2.isChecked() && cb_3.isChecked() && cb_4.isChecked()){
                        cb_1.setChecked(false);
                        cb_2.setChecked(false);
                        cb_3.setChecked(false);
                        cb_4.setChecked(false);
                    }
                }else{
                    if(cb_1.isChecked() && cb_2.isChecked() && cb_3.isChecked() && cb_4.isChecked()){
                        cb_all.setChecked(true);
                    }else{
                        cb_all.setChecked(false);
                    }
                
            }
            
        }
    
        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            String number = actv_number.getText().toString();
            String psd = et_psd.getText().toString();
            if(number!=null && psd != null){
                Toast.makeText(MainActivity.this, "学号:"+number+",密码"+psd, 0).show();
            }
        }
    
        
    }
     
  • 相关阅读:
    ionic之样式bar-assertive
    (?m) 可以让.去匹配换行
    perl 正则前导字符
    ionic之样式bar-energized
    ionic之样式bar-balanced
    ionic之样式bar-calm
    perl /m
    sort_buffer_size:
    Filter plugins ? mutate:
    Codec plugins ? multiline
  • 原文地址:https://www.cnblogs.com/fangg/p/5717793.html
Copyright © 2011-2022 走看看