androidspinner获取
⑴ Android java文件中获取下拉菜单的中用户选择的值 求大佬
在安卓客户端需要添加下拉框,供用户选择他们需要填写的选项。
如果使用资源文件把选项写死的话,只有text一种形式可选,局限太大,因此如果要实现 value - text 这种形式的话,需要单独写一个类 SpinnerOption.java 。
1. 布局文件
<Spinner
android:id="@+id/town_sp"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
2. 下拉框选项实体 SpinnerOption.java,在Spinner中显示选项的时候,默认会显示每个项(Object)的 toString() 之后的内容,因此重写 toString() 方法,让它输出 text 。
publicclassSpinnerOption{
privateStringvalue="";
privateStringtext="";
publicSpinnerOption(){
value="";
text="";
}
publicSpinnerOption(Stringvalue,Stringtext){
this.value=value;
this.text=text;
}
@Override
publicStringtoString(){
returntext;
}
publicStringgetValue(){
returnvalue;
}
publicStringgetText(){
returntext;
}
}
3. Fragment中:
ArrayList<SpinnerOption>towns;
//准备好下拉框内容
towns=newArrayList<SpinnerOption>();
for(inti=0;i<18;i++){
SpinnerOptionc=newSpinnerOption(i+"",i+"镇");
towns.add(c);
}
townSp=(Spinner)view.findViewById(R.id.town_sp);
//设置Adapter
ArrayAdapter<SpinnerOption>townAdapter=newArrayAdapter<SpinnerOption>(getActivity(),android.R.layout.simple_spinner_item,towns);
townAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
townSp.setAdapter(townAdapter);
//取下拉框的值
postData.put("townId",((SpinnerOption)townSp.getSelectedItem()).getValue());
在取值时要注意,getSelectedItem()得到的是笼统的Object对象而已,还需要把它转换类型为SpinnerOption类才能取值。
完成之后的效果:
⑵ Android控件之Spinner简单使用
在 drawable 包下, 新建一个xml文件 spinner_background.xml , 自定义Spinner的背景:
在 res/values/styles.xml 中添加一个style, 然后在Spinner添加这个Theme:
在想要添加Spinner控件的layout里添加Spinner控件:
这里我在 res/values 中添加了一个 str_array_services.xml :
那些 @string/xxx 在 strings.xml 定义这些字符串.(这里为了更好的耦合性, 可以设置成多个语言版本)
⑶ Android如何获取spinner项的ID(int型)
mSpinner = (Spinner) findViewById(R.id.spinner1);//spinner1是你xml中配置的ID
//数据源
String[] mItems = new String[]{"Str1","Str2"};
// 建立Adapter并且绑定数据源
ArrayAdapter<String> adapter=new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item, mItems);
//绑定 Adapter到控件
mSpinner.setAdapter(adapter);
⑷ 怎么实现Android的Spinner控件不可编辑
spinner 是View的子类,View 有个属性android:clickable=false 就是设置控件不可点击
关于Spinner的实例代码:
新建一个android工程,名称为Spinner。同时建一个Activity,名称为SpinnerActivity。
修改res/layout/main.xml
⑸ android中如何将下拉列表中获取的值放到编辑框中
finish(); return true; 界面都已经被关掉了呀, 怎么还能放进框里呢, 需要到onactivityResult里得到这个界面传递回去的数据,取出来,再给edittext.setText 设置进去才能显示的。
⑹ android spinner怎么用
android中的spinner控件是表示下拉菜单的意思,按照如下步骤使用:
1、首先使用Android studio创建一个项目,如下图:
4、最后去类中绑定控件,并添加数据即可使用。
⑺ android spinner默认什么都不选择
项目开发中经常有些变态的羡清需求,比如要求spinner默认不选中任何一项。
如果你自定义spinner,那这个当然不是问题;也可以在原有的选项列表中开头增加一项空字符串项,默认显示这个空字符串也薯派卜达到了效果,不过采用这种方式需要你在获取被选择项的位置时忽略空字符串项。
经过一番摸索,发现我们只要保证 spinner第一次展示时不显示即可,数穗相关代码如下:
boolean isSpinnerFirst = true ;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main) ;
Spinner spinner = (Spinner)findViewById(R.id.spinner) ;
spinner.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
if (isSpinnerFirst) {
//第一次初始化spinner时,不显示默认被选择的第一项即可
view.setVisibility(View.INVISIBLE) ;
}
isSpinnerFirst = false ;
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
}) ;
}