ArrayAdapter 和 Spinner
  HvTJUzsxOBtS 2023年11月25日 16 0


两个Spinner,一个Spinner选择不同的选项,另一个也会相应改变选项。

#####1、layout文件

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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="com.example.lumeng.myapplication.MainActivity">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="120dp"
        android:id="@+id/layout_one"
        android:layout_marginTop="10dp"
        android:layout_gravity="center"
        android:orientation="vertical">
        <Spinner
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:id="@+id/spinner_one"
            android:layout_weight="1"
            android:entries="@array/drink">
        </Spinner>

        <Spinner
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:id="@+id/spinner_two"
            android:layout_weight="1">
        </Spinner>
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:layout_marginTop="200dp"
        android:layout_gravity="center"
        android:orientation="vertical">

        <Button
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:id="@+id/bt"
            android:text="@string/order"
            android:textSize="30dp"/>

    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_marginTop="250dp"
        android:layout_gravity="center"
        android:orientation="vertical">

        <TextView
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:id="@+id/tx"
            android:textSize="30dp"/>

    </LinearLayout>

</RelativeLayout>

####2、String文件

<resources>
    <string name="app_name">My Application</string>

    <string name="order">订单</string>
    <string-array name="drink">
        <item>贝壳奶茶</item>
        <item>波波奶茶</item>
        <item>青草奶茶</item>
        <item>辣椒奶茶</item>
        <item>清水奶茶</item>
    </string-array>
</resources>

####3、功能实现

ArrayAdapter 和 Spinner_xml

ArrayAdapter 和 Spinner_ide_02

package com.example.lumeng.myapplication;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.Spinner;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity implements AdapterView.OnItemSelectedListener {

    Spinner drink,tem;
    TextView txv;
    Button bt;

    String [] tem_1={"冰","去冰","温"};
    String [] tem_2={"冰","去冰"};

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


        txv = (TextView) findViewById(R.id.tx);
        tem=(Spinner) findViewById(R.id.spinner_two);//获取温度的spinner

        drink= (Spinner) findViewById(R.id.spinner_one);//获取饮料的spinner

        drink.setOnItemSelectedListener(this);

    }

    //监听spinner选项
    @Override
    public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
        String [] temSet;
        if(i==3)
            temSet=tem_1;//如果是点击第4个选取这个温度
        else
            temSet=tem_2;//别的选取这个温度

        //根据温度选项创建ArrayAdapter
        ArrayAdapter<String> tempAd = new ArrayAdapter<String>
                (this,android.R.layout.simple_dropdown_item_1line,temSet);//选单未打开时选项样式

        tem.setAdapter(tempAd);  //设置使用Adapter对象
    }

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

    }
}

文献参考:
android app开发入门 施威铭 编著

本人郑重声明,本博客所著文章、图片版权归权利人持有,本博只做学习交流分享所用,不做任何商业用途。访问者可將本博提供的內容或服务用于个人学习、研究或欣赏,不得用于商业使用。同時,访问者应遵守著作权法及其他相关法律的规定,不得侵犯相关权利人的合法权利;如果用于商业用途,须征得相关权利人的书面授权。若以上文章、图片的原作者不愿意在此展示內容,请及时通知在下,將及时予以刪除。


【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月25日 0

暂无评论

推荐阅读
  anLrwkgbyYZS   2023年12月30日   34   0   0 ideciciMaxideMax
HvTJUzsxOBtS