设为首页 加入收藏

TOP

Android学习之Spinner控件的使用(一)
2014-11-24 11:17:54 来源: 作者: 【 】 浏览:0
Tags:Android 习之 Spinner 控件 使用

直接给定例子,离职中有详细的介绍:


在layout中main.xml文件的内容为:


< xml version="1.0" encoding="utf-8" >
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/spinner"
android:text="spinner"
/>



在layout中string.xml文件的内容为:


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

Hello World, SpinnerActivity!
SpinnerTest


a
x
d
c
v
f



java代码如下:


import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.Toast;


public class SpinnerActivity extends Activity {
Spinner spinner = null;

@Override
public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);
setContentView(R.layout.main);
spinner = (Spinner) findViewById(R.id.spinner);


/**
* 通过createFromResource()方法创建ArrayAdapter对象
* 第一个参数是上下文对象
* 第二个参数引用了string.xml文件当中的数组,
* 第三个参数用来指明spinner的样式,是一个布局id,该布局id由android系统提供,也可以替换自己定义的布局文件
*/
ArrayAdapter adapter = ArrayAdapter.createFromResource(
this, R.array.spinner, android.R.layout.simple_spinner_item);
//设置spinner显示的样式,引用一个android系统提供的样式,系统自带了比较多的样式,大
//家可以选择自己喜欢的样式或客户定制的样式,当能也可以自己制定样式
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
spinner.setPrompt("测试");

//设置spinner控件的监听器
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {


//当用户选定了一个条目时,就会调用该方法
/**
* 第一个参数:代表整个列表页就是包含所有条目的列表
* 第二个参数:代表被选中的条目的view
* 第三个参数:位置
* 第四个参数:空间的id
*/
@Override
public void onItemSelected(AdapterView< > parent, View view,
int position, long id) {
/**
* getItemAtPosition()
* 获取相关的数据列表中的指定位置
*/
Toast.makeText(parent.getContext(),"The planet is "+ parent.getItemAtPosition(position).toString(),
Toast.LENGTH_LONG).show();
}


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


}
});
}
}


这样就可以控制一个spinner控件了。以上这个例子使用ArrayAdapter非常局限,很难做到动态添加数据。下面这个例子就是说明自己定义布局文件,自己用一个集合添加数据。



要在layout里面添加一个布局文件item.xml:


< xml version="1.0" encoding="utf-8" >
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/textView"
/>



其他的和上面例子一样;看java代码:


import java.util.ArrayList;
import java.util.List;


import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.Toast;


public class SpinnerActivity extends Activity {
Spinner spinner = null;

@Override
public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);
setContentView(R.layout.main);

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


/**
* 通过createFromResource()方法创建ArrayAdapter对象
* 第一个参数是上下文对象
* 第二个参数引用了string.xml文件当中的数组,
* 第三个参数用来指明spinner的样式,是一个布局id,该布局id由android系统提供,也可以替换自己定义的布局文件
*/
//ArrayAdapter adapter = ArrayAdapter.createFromResource(this, R.array.spinner, android.R.layout.simple_spinner_item);
//设置spinner显示的样式,引用一个and

首页 上一页 1 2 下一页 尾页 1/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Android Camera Architecture (An.. 下一篇Android中LayoutInflater类的使用

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·如何从内核协议栈到 (2025-12-27 03:19:09)
·什么是网络协议?有哪 (2025-12-27 03:19:06)
·TCP/ IP协议有哪些 (2025-12-27 03:19:03)
·怎样用 Python 写一 (2025-12-27 02:49:19)
·如何学习python数据 (2025-12-27 02:49:16)