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) {
}
}) ;
}