展会信息港展会大全

Android 程式开发:(十二)列表控件 —— 12.4 Spinner
来源:互联网   发布日期:2015-10-02 16:00:12   浏览:1711次  

导读:从前面的几节课可知,ListView用来显示一个长列表信息,同时把整个屏幕占满了(ListActivity)。但是有的时候,你可能需要其他类似的视图,这样,你就不必把整个屏幕都占满了。在这种情...

从前面的几节课可知,ListView用来显示一个长列表信息,同时把整个屏幕占满了(ListActivity)。但是有的时候,你可能需要其他类似的视图,这样,你就不必把整个屏幕都占满了。在这种情况下,你就应该使用Spinner控件。Spinner一次显示列表中的一个信息,并且它能让用户进行选择。

下面将展示如何在Activity中使用Spinner。

1. 创建一个工程:BasicViews6。

2. main.xml中的代码。

[html]

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:orientation="vertical" >

<Spinner

android:id="@+id/spinner1"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:drawSelectorOnTop="true" />

</LinearLayout>

3. strings.xml中的代码。

[html]

<?xml version="1.0" encoding="utf-8"?>

<resources>

<string name="hello">Hello World, BasicViews6Activity!</string>

<string name="app_name">BasicViews6</string>

<string-array name="presidents_array">

<item>Dwight D. Eisenhower</item>

<item>John F. Kennedy</item>

<item>Lyndon B. Johnson</item>

<item>Richard Nixon</item>

<item>Gerald Ford</item>

<item>Jimmy Carter</item>

<item>Ronald Reagan</item>

<item>George H. W. Bush</item>

<item>Bill Clinton</item>

<item>George W. Bush</item>

<item>Barack Obama</item>

</string-array>

</resources>

4. BasicViews6Activity.java中的代码。

[java]

public class BasicViews6Activity extends Activity {

String[] presidents;

/** Called when the activity is first created. */

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

presidents =

getResources().getStringArray(R.array.presidents_array);

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

ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,

android.R.layout.simple_spinner_item, presidents);

s1.setAdapter(adapter);

s1.setOnItemSelectedListener(new OnItemSelectedListener()

{

@Override

public void onItemSelected(AdapterView<?> arg0,

View arg1, int arg2, long arg3)

{

int index = arg0.getSelectedItemPosition();

Toast.makeText(getBaseContext(),

"You have selected item : " + presidents[index],

Toast.LENGTH_SHORT).show();

}

@Override

public void onNothingSelected(AdapterView<?> arg0) { }

});

}

}

5. 按F11在模拟器上调试。在Spinner上面单击,你将会看到一个弹出的窗口,这个窗口显示了这些名字。选择一个名字,就会弹出一个信息。

这个例子和ListView很像。你需要实现的方法是onNothingSelected()。当用户按返回键的时候,这个方法被触发,同时显示出来的窗口被取消了。在这个例子中,我们什么都没做,所以没有实现这个方法。

除了显示一些简单的列表,也可以显示RadioButton。只要修改ArrayAdapter的第二个参数即可。

[java]

ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,

android.R.layout.simple_list_item_single_choice, presidents);

赞助本站

人工智能实验室

相关热词: android开发 教程

相关内容
AiLab云推荐
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港