2020/10/21安卓下拉框的代码

**activity_main.xml**

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"      主界面的宽度
    android:layout_height="match_parent"		主界面的高度
    android:orientation="vertical"						主界面的整体布局是垂直的
    tools:context=".MainActivity">


    <TextView		做一个文本框
        android:layout_width="match_parent"		**框的宽度**
        android:layout_height="wrap_content"		框的高度
        android:layout_margin="30dp"		控件外边距为30dp
        android:text="你来自于那个省?"		设置文本的内容
        android:textSize="25sp"			字体的大小
        android:textColor="@color/colorAccent"/>		字体颜色

    <Spinner
        android:layout_width="300dp"		设宽
        android:layout_height="wrap_content"		设高
        android:id="@+id/spinner_pro"		给个id,之后会用到的
        android:layout_marginLeft="30dp"			左边距
        />


    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="30dp"
        android:text="你来自于哪个城市?"
        android:textSize="25sp"
        android:textColor="@color/colorAccent"/>

    <Spinner
        android:layout_width="300dp"
        android:layout_height="wrap_content"
        android:id="@+id/spinner_city"
        android:layout_marginLeft="30dp"
        />

    <AutoCompleteTextView			编辑框自动补齐文字
        android:layout_width="300dp"
        android:layout_height="wrap_content"
        android:textSize="22sp"
        android:textColor="@color/colorAccent"
        android:layout_margin="30dp"
        android:id="@+id/autotext"
        />
布局:框一般会涉及宽、高、边距。文字会涉及内容、大小、颜色

</LinearLayout>va

下面是Java文件

**mainactivity.java**

package com.ioc18.spinner_test;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
import android.widget.Spinner;
import android.widget.Toast;

import java.util.ArrayList;

public class MainActivity extends AppCompatActivity {

    Spinner Spinner_Pro,Spinner_City;
    AutoCompleteTextView AutoText;		首先声明三个类

    String[] String_Pro={"广东省","广西省","福建省","海南省","浙江省","江苏省",
            "湖南省","湖北省","安徽省","江西省","山东省","河南省",
            "山西省","河北省","黑龙江","辽宁省","吉林省","内蒙古",
            "新疆","西藏","宁夏","青海省","台湾省","甘肃省",
            "北京","天津","重庆","四川省","云南省","上海"};
    ArrayList arrayList = new ArrayList();

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);		oncreate的标准语句

        Spinner_Pro = findViewById(R.id.spinner_pro);		
        Spinner_City = findViewById(R.id.spinner_city);
        AutoText = findViewById(R.id.autotext);
        Java用findviewbyid对布局文件中的控件进行绑定和关联

        for(int i =0 ;i< String_Pro.length ; i++){
            arrayList.add(String_Pro[i]);
        }
        想要用适配器就要用arraylist,而arrarylist需要sting_pro赋值使用

        ArrayAdapter arrayAdapter = new ArrayAdapter<String>(
                MainActivity.this,
                android.R.layout.simple_spinner_item,
                arrayList);
                初始化适配器,第一个是当前activity,第二给是布局文件,第三给是术语

        arrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);			添加监听器

        Spinner_Pro.setAdapter(arrayAdapter);

        Spinner_Pro.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
            @Override
            public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
                Toast.makeText(MainActivity.this, "我来自于"+String_Pro[position], 通过位置下标显示数组里的内容    Toast.LENGTH_SHORT).show();
            }

            @Override
            public void onNothingSelected(AdapterView<?> parent) {

            }
        });


        ArrayAdapter<CharSequence> Adapter_City = ArrayAdapter.createFromResource(
                MainActivity.this,R.array.city,android.R.layout.simple_spinner_item);
                初始化第二个适配器adapter_city
        Adapter_City.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);/* 将ArrayAdapter 添加Spinner 对象中 */

        Spinner_City.setAdapter(Adapter_City);
        /* 下拉菜单弹出的内容选项被选中事件处理 */

        ArrayAdapter<CharSequence> Adapter_glass = ArrayAdapter.createFromResource(
                MainActivity.this,
                R.array.glass,
                android.R.layout.simple_list_item_1
        );

        AutoText.setAdapter(Adapter_glass);
    }
}
`
array.xml文件(通过系统调用自身创建的内容)
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string-array name="city">
        <item>韶关</item>
        <item>广州</item>
        <item>深圳</item>
        <item>珠海</item>
        <item>中山</item>
        <item>茂名</item>
        <item>云浮</item>
        <item>潮州</item>
    </string-array>

    <string-array name="glass">
        <item>18物联网1班</item>
        <item>18物联网2班</item>
        <item>18物联网3班</item>
        <item>18物联网4班</item>
        <item>18通信工程1班</item>
        <item>18通信工程2班</item>
        <item>18通信工程3班</item>
        <item>17通信工程1班</item>
        <item>17通信工程2班</item>
        <item>17通信工程3班</item>

    </string-array>
</resources>

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值