Android-高级控件-下拉列表(Spinner)&列表视图(ListView)

Spinner

语法

 

         android:id="@+id/ID号"

         android:layout_width="wrap_content"

          android:layout_height="wrap_content"

          android:entries=“@array/数组名称"

  ......

    />

 android:entries 

选项,用于指定列表项,若在布局文件中不指定该属性,可在Java代码中通过为其指定适配器的方式指定

有两种为其添加列表项的方式

通过XML文件添加

 在values目录下,新建一个数组资源文件array.xml


    		
        		计算机科学与技术
    			软件工程
        		网络工程
        		物联网工程
        		
	

 引用


通过Java代码添加

String[] city=new String[]{"北京", "上海", "天津" , "重庆" , "广州" };
Spinner citysp=(Spinner)findViewById(R.id.sp_city);
ArrayAdapter spadapter=new 
ArrayAdapter(this,android.R.layout.simple_spinner_item,city);
citysp.SetAdapter(spadapter);

练习题目

 (1)界面构成:

①5个文本框用于显示提示信息“姓名:”、“年龄”、“专业”、“学历”、“爱好”;

②2个编辑框分别用于接收学生的姓名和年龄;

③3个单选按钮用于专业选择(计算机科学与技术、软件工程、网络工程);

④1个Spinner用于学历选择,使用数组资源获取列表项(高中、本科、硕士研究生、博士研究生、其他);

⑤n个复选框用于爱好选择(n>=3);

⑥3个普通按钮,文本分别显示为“录入”、“重置”、“显示”;

⑦1个ListView,用于显示录入的所有学生信息。

(2)程序功能:

单击“录入”按钮,将用户输入和选择的各项信息写入数组;

单击“重置”按钮,清空用户输入的信息;

③单击“显示”按钮,将所有录入的学生信息在ListView中显示。

项目结构

Android-高级控件-下拉列表(Spinner)&列表视图(ListView)_第1张图片

布局

布局预览

Android-高级控件-下拉列表(Spinner)&列表视图(ListView)_第2张图片

activity_main.xml





    
        
        

    

    

        
        

    

    
        
        
            
            
            


        
    

    
        
        

    

    
        
        
            
            
            
            
            
            


        

    


    
        

list_item.xml






array.xml



    
        高中
        本科
        硕士研究生
        博士研究生
        其它
    

逻辑实现

MainActivity

package com.example.test;

import android.content.Context;
import android.os.Bundle;
import android.app.Activity;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.GridLayout;
import android.widget.ListView;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.Spinner;
import android.view.View. OnClickListener;


import java.util.ArrayList;

public class MainActivity extends Activity {

    //声明
    private Context context;

    Spinner sp;
    //声明ListView对象
    ListView lsv;

    RadioGroup zy;

    EditText etname,etage;

    CheckBox cb1,cb2,cb3,cb4,cb5,cb6;
    CheckBox cb[]=new CheckBox[6];

    Button bt1,bt2,btxianshi;
    //复选按钮组
    GridLayout g1;

    String name,age,specialty,shobby,edu;
    //
    ArrayList list=new ArrayList();;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        context =this;

        //获取控件对象
        //登记按钮和重置按钮
        bt1 = (Button) findViewById(R.id.bt_login);
        bt2 = (Button) findViewById(R.id.bt_reset);
        btxianshi = (Button) findViewById(R.id.bt_xianshi);
        //复选框
        cb[0] = (CheckBox) findViewById(R.id.cb1);
        cb[1] = (CheckBox) findViewById(R.id.cb2);
        cb[2] = (CheckBox) findViewById(R.id.cb3);
        cb[3] = (CheckBox) findViewById(R.id.cb4);
        cb[4] = (CheckBox) findViewById(R.id.cb5);
        cb[5] = (CheckBox) findViewById(R.id.cb6);

        g1 = (GridLayout) findViewById(R.id.g1_hobby);

        etname = (EditText) findViewById(R.id.et_name);
        etage = (EditText) findViewById(R.id.et_age);


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

        sp = (Spinner)findViewById(R.id.edu);

        lsv=(ListView)findViewById(R.id.lsv1);



        //登记信息
        bt1.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub

                edu = sp.getSelectedItem().toString();

                shobby="";
                //
                for(int i=0;i adapter =
                        new ArrayAdapter(
                                MainActivity.this,
                                R.layout.list_item,
                                list);
                //关联
                lsv.setAdapter(adapter);

            }
        });



    }



//    @Override
//    public boolean onCreateOptionsMenu(Menu menu) {
//        // Inflate the menu; this adds items to the action bar if it is present.
//        getMenuInflater().inflate(R.menu.main, menu);
//        return true;
//    }

}

运行

登记

Android-高级控件-下拉列表(Spinner)&列表视图(ListView)_第3张图片

显示

Android-高级控件-下拉列表(Spinner)&列表视图(ListView)_第4张图片

 重置

Android-高级控件-下拉列表(Spinner)&列表视图(ListView)_第5张图片

你可能感兴趣的:(Android,android,java)