作者tacor (塔寇爾)
看板AndroidDev
標題Re: [問題] 關於spinner的getSelectedItemPosition()
時間Fri Jul 6 06:44:09 2012
※ 引述《ivanf10710 (Ivan)》之銘言:
: 想請問Spinner的getSelectedItemPosition()問題
: 在value中建立的string.xml列出arry-string如下:
: <string-array name="feets" >
: <item>2 feet</item>
: <item>3 feet</item>
: <item>4 feet</item>
: <item>5 feet</item>
: <item>6 feet</item>
: <item>7 feet</item>
: <item>8 feet</item>
: </string-array>
: ---------------------------------------
: Main.java建立Spinner:
: ArrayAdapter<CharSequence> adapter_feets =
: ArrayAdapter.createFromResource(this, R.array.feets,
: android.R.layout.simple_spinner_item);
: adapter_feets.setDropDownViewResource(
: android.R.layout.simple_spinner_dropdown_item);
: listener的部分:
: private int feet;
: private Spinner.OnItemSelectedListener getFeet = new
: Spinner.OnItemSelectedListener() {
: public void onItemSelected(AdapterView<?> parent, View v,
: int position, long id) {
: feet = parent.getSelectedItemPosition();
: }
: public void onNothingSelected(AdapterView<?> parent) {}
: };
: 建立好Spinner並從xml匯入選項後
: 以getSelectedItemPosition()取出位置
: 但是我看執行結果feet的值竟然是0...
: 所以想請問大家getSelectedItemPosition()取出的是位置呢
: 還是該位置的值?
: 因為主要是想要取出使用者點選的數值並做計算
: 那這樣我該怎麼寫呢?
官網getSelectedItemPosition()的解釋是~
Return the position of the currently selected item within the adapter's data
set
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.34.217.17
1F:→ ivanf10710:所以我想問如果是要將使用者選取的position的數值拿來 07/06 11:32
2F:→ ivanf10710:做計算的話該怎麼寫呢@@? 07/06 11:32
3F:→ ivanf10710:例如user點5 feets,那getSelectedItemPosition()取出 07/06 11:33
4F:→ ivanf10710:的應該是他的位置,而不是取出"5"這個數字,所以我該 07/06 11:34
5F:→ ivanf10710:用甚麼方法可以讓他取出"5"這個數值去做運算呢 07/06 11:34
6F:→ bukiya:int feet = position + 2 就好啦 07/06 15:50
7F:推 ivanf10710:我就是用樓上的方法結果feet都是0 -..- 07/06 15:53
8F:→ bukiya:沒錯啊,spinner選單第一個position是0,第二個是1,照順序 07/06 16:21
9F:→ bukiya:下去,然後你第一個選項是2 feet,所以0+2=2,第二個就 07/06 16:23
10F:→ bukiya:1+2=3,以此類推... 07/06 16:24
11F:→ bukiya:input中position的值應該和parent.getSelectedItemPosition 07/06 16:26
12F:→ bukiya:一樣 07/06 16:26