Android 中使用spinner实现下拉列表的两种方法和getItemAtPosition()方法的使用

博主前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住也分享一下给大家,
👉点击跳转到网站

方法一:

通过entries属性,指定列表项
1.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"
    tools:context=".SpinnerActivity"
    android:orientation="horizontal"
    >
    <TextView
        android:layout_width="150dp"
        android:layout_height="50dp"
        android:text="附近区域:"
        android:textSize="25sp"
        android:gravity="right|center"
        />
    <Spinner
        android:layout_width="0dp"
        android:layout_height="50dp"
        android:layout_weight="1"
        android:id="@+id/spinner_location"
        android:entries="@array/spinner"
        />
</LinearLayout>

2.资源文件@array/spinner 需要在values文件下面创建,具体代码如下:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string-array name="spinner">
        <item>全部</item>
        <item>上海</item>
        <item>天津</item>
        <item>深圳</item>
    </string-array>
</resources>

效果如下:
在这里插入图片描述
方法二:

使用数组适配器ArrayAdapter,展现列表项

public class SpinnerActivity extends AppCompatActivity {

    private Spinner spinner_location;
    private ArrayAdapter arrayAdapter;
    //定义字符串数组,指定数组的元素
    private String[] spinner = new String[]{"全部","上海","深圳","北京"};
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_spinner);

        spinner_location=findViewById(R.id.spinner_location);

        //参数1.上下文对象 参数2.列表项的样式,Android为我们提供的资源样式为:android.R.layout.simple_spinner_item
        //参数3.定义的字符串数组
        arrayAdapter=new ArrayAdapter(this, android.R.layout.simple_spinner_item,spinner);
        //设置适配器列表框下拉时的列表样式
        arrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        //将适配器与下拉列表框关联起来
        spinner_location.setAdapter(arrayAdapter);
        String s = spinner_location.getSelectedItem().toString();
        Toast.makeText(this, s, Toast.LENGTH_SHORT).show();
    }
}

效果同上。
获取选中项的值,通过调用选择列表项监听器setOnItemSelectedListener
使用其中的getItemAtPosition 获取选中的值

spinner_location.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
            @Override
            public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
                String result = parent.getItemAtPosition(position).toString();
                Toast.makeText(SpinnerActivity.this, result, Toast.LENGTH_SHORT).show();
            }

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

            }
        });

效果如下:
在这里插入图片描述
Spinner中常用的属性:

【	常 用 属 性	】
1.	    android:entries="@array/menu_type"	//	绑定XML文件找那个的数据源
2.		android:spinnerMode="dropdown"		//	显示模式 
		"dropdown"	直接下拉模式
		"dialog"	对话框效果模式
4.	    android:dropDownWidth="250dp"		//	下拉框宽度
  • 9
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
要在Android使用Spinner下拉列表,您可以按照以下步骤创建一个新的应用程序: 1. 打开Android Studio,并创建一个新的空白项目。 2. 在res/layout目录创建一个新的XML文件,例如“activity_main.xml”。 3. 在XML布局文件添加Spinner控件。例如: ``` <Spinner android:id="@+id/my_spinner" android:layout_width="match_parent" android:layout_height="wrap_content" /> ``` 这将创建一个默认的Spinner控件。 4. 在MainActivity.java文件,添加以下代码: ``` public class MainActivity extends AppCompatActivity implements AdapterView.OnItemSelectedListener { Spinner mySpinner; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mySpinner = findViewById(R.id.my_spinner); ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.my_array, android.R.layout.simple_spinner_item); adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); mySpinner.setAdapter(adapter); mySpinner.setOnItemSelectedListener(this); } @Override public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { String item = parent.getItemAtPosition(position).toString(); Toast.makeText(parent.getContext(), "Selected: " + item, Toast.LENGTH_SHORT).show(); } @Override public void onNothingSelected(AdapterView<?> parent) { // Do nothing } } ``` 这将创建一个适配器,将适配器绑定到Spinner控件上,并设置选择监听器以处理选择事件。 5. 在res/values目录创建一个新的XML文件,例如“strings.xml”。 6. 在strings.xml文件添加以下代码: ``` <string-array name="my_array"> <item>Item 1</item> <item>Item 2</item> <item>Item 3</item> </string-array> ``` 这将创建一个字符串数组,用于填充Spinner控件。 7. 运行应用程序并测试Spinner控件。 这样,您就可以在Android使用Spinner下拉列表
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

路宇

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值