android 筛选列表按钮,Android Spinner(下拉列表)示例

在Android中,您可以使用“ android.widget.Spinner ”类来呈现下拉框选择列表。

注意  Spinner是类似于用于选择项目的下拉列表的小部件。

在本教程中,我们向您展示如何执行以下任务:

渲染XML的微调框,并通过XML文件加载选择项。  使用XML渲染另一个Spinner,并通过代码动态加载选择项。  在Spinner上附加一个侦听器,当用户在Spinner中选择一个值时触发。  在普通按钮上渲染并附加一个侦听器,当用户单击它时触发,它将显示Spinner的选定值。

PS此项目在Eclipse 3.7中开发,并通过Android 2.3.3进行了测试。

1.微调器中的项目清单

打开“ res / values / strings.xml ”文件,定义将在Spinner中显示的项目列表(下拉列表)。

文件:res / values / strings.xml

MyAndroidApp

Choose a country

Malaysia

United States

Indonesia

France

Italy

Singapore

New Zealand

India

2.微调器(下拉列表)

打开“ res / layout / main.xml ”文件,添加两个微调器组件和一个按钮。

在“ spinner1”中,“ android:entries ”表示微调器中的选择项。  在“ spinner2”中,稍后将在代码中定义选择项。

文件:res / layout / main.xml

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:orientation="vertical" >

android:id="@+id/spinner1"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:entries="@array/country_arrays"

android:prompt="@string/country_prompt" />

android:id="@+id/spinner2"

android:layout_width="match_parent"

android:layout_height="wrap_content" />

android:id="@+id/btnSubmit"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="Submit" />

3.代码代码

阅读代码以及代码的注释,这应该是不言自明的。

文件:MyAndroidAppActivity.java

package com.mkyong.android;

import java.util.ArrayList;

import java.util.List;

import android.app.Activity;

import android.os.Bundle;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.ArrayAdapter;

import android.widget.Button;

import android.widget.Spinner;

import android.widget.Toast;

public class MyAndroidAppActivity extends Activity {

private Spinner spinner1, spinner2;

private Button btnSubmit;

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

addItemsOnSpinner2();

addListenerOnButton();

addListenerOnSpinnerItemSelection();

}

// add items into spinner dynamically

public void addItemsOnSpinner2() {

spinner2 = (Spinner) findViewById(R.id.spinner2);

List list = new ArrayList();

list.add("list 1");

list.add("list 2");

list.add("list 3");

ArrayAdapter dataAdapter = new ArrayAdapter(this,

android.R.layout.simple_spinner_item, list);

dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

spinner2.setAdapter(dataAdapter);

}

public void addListenerOnSpinnerItemSelection() {

spinner1 = (Spinner) findViewById(R.id.spinner1);

spinner1.setOnItemSelectedListener(new CustomOnItemSelectedListener());

}

// get the selected dropdown list value

public void addListenerOnButton() {

spinner1 = (Spinner) findViewById(R.id.spinner1);

spinner2 = (Spinner) findViewById(R.id.spinner2);

btnSubmit = (Button) findViewById(R.id.btnSubmit);

btnSubmit.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

Toast.makeText(MyAndroidAppActivity.this,

"OnClickListener : " +

"\nSpinner 1 : "+ String.valueOf(spinner1.getSelectedItem()) +

"\nSpinner 2 : "+ String.valueOf(spinner2.getSelectedItem()),

Toast.LENGTH_SHORT).show();

}

});

}

}

文件:CustomOnItemSelectedListener.java

package com.mkyong.android;

import android.view.View;

import android.widget.AdapterView;

import android.widget.AdapterView.OnItemSelectedListener;

import android.widget.Toast;

public class CustomOnItemSelectedListener implements OnItemSelectedListener {

public void onItemSelected(AdapterView> parent, View view, int pos,long id) {

Toast.makeText(parent.getContext(),

"OnItemSelectedListener : " + parent.getItemAtPosition(pos).toString(),

Toast.LENGTH_SHORT).show();

}

@Override

public void onNothingSelected(AdapterView> arg0) {

// TODO Auto-generated method stub

}

}

4.演示

运行应用程序。

1.结果,显示两个微调器:

2.从spinner1中选择“ France”,将触发项目选择侦听器:

3.从spinner2中选择“ list2”,然后单击Submit按钮:

下载源代码

下载它– Android-Spinner-DropDownList-Example.zip (16 KB)

参考文献

Android Spinner JavaDoc  Android Spinner示例

标签: android 下拉 微调器

翻译自: https://mkyong.com/android/android-spinner-drop-down-list-example/

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值