20201021安卓下拉框的代码

it2024-12-21  9

**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>
最新回复(0)