作者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