【问题标题】:How to get index value from numberpicker in android如何从android中的numberpicker获取索引值
【发布时间】:2014-08-24 13:43:06
【问题描述】:
NumberPicker np;
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);             

            np = (NumberPicker)findViewById(R.id.np1);

            String[] values = {"one","two","three", "four","five","six","seven","eight"};       
            np.setMaxValue(values.length-1);
            np.setMinValue(0);
            np.setDisplayedValues(values);       
            np.setWrapSelectorWheel(false);
}

以上是我的代码的 sn-p。所以我试图获取所选数字选择器的索引值。我该怎么写?我已经有这样的东西了:

int pushupReps = Integer.parseInt(push_ups.getText().toString());

但它似乎不起作用,我在 OnCreate() 方法中有这个:

push_ups = (EditText)findViewById(R.id.pushups);

这是我使用的主要 xml:

<LinearLayout
    android:id="@+id/linearLayout1"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >

        <CheckBox
            android:id="@+id/checkBox"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="I&apos;m a Commando/Diver/Guards" />

    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >

        <TextView
            android:id="@+id/age"
            android:layout_width="96dp"
            android:layout_height="wrap_content"
            android:layout_gravity="center|right"
            android:text="Age: "
            android:textAppearance="?android:attr/textAppearanceMedium" />

        <NumberPicker
            android:id="@+id/np1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" 
            android:inputType= "none" />

    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >

        <TextView
            android:id="@+id/textView3"
            android:layout_width="96dp"
            android:layout_height="wrap_content"
            android:layout_weight="0"
            android:text="Push-ups: "
            android:textAppearance="?android:attr/textAppearanceMedium" />

        <EditText
            android:id="@+id/pushups"
            android:layout_width="190dp"
            android:layout_height="wrap_content"
            android:ems="10"
            android:inputType="number" >

            <requestFocus />
        </EditText>

    </LinearLayout>

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" >

        <TextView
            android:id="@+id/textView4"
            android:layout_width="96dp"
            android:layout_height="wrap_content"
            android:text="Sit-ups: "
            android:textAppearance="?android:attr/textAppearanceMedium" />

        <EditText
            android:id="@+id/situps"
            android:layout_width="190dp"
            android:layout_height="wrap_content"
            android:inputType="number" />

    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >

        <TextView
            android:id="@+id/pushup_score"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:text="2.4km Run: "
            android:textAppearance="?android:attr/textAppearanceMedium" />

        <EditText
            android:id="@+id/run_minutes"
            android:layout_width="72dp"
            android:layout_height="wrap_content"
            android:ems="10"
            android:inputType="number" />

        <TextView
            android:id="@+id/textView2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:layout_weight="1"
            android:text="mins" />

        <EditText
            android:id="@+id/run_secs"
            android:layout_width="72dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:ems="10"
            android:inputType="number" />

        <TextView
            android:id="@+id/textView2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:layout_weight="1"
            android:text="secs" />

    </LinearLayout>

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="143dp" >

        <Button
            android:id="@+id/calculate"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true"
            android:layout_centerHorizontal="true"
            android:layout_marginTop="35dp"
            android:text="Calculate" />

    </RelativeLayout>

</LinearLayout>

<TextView
    android:id="@+id/textView6"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_centerHorizontal="true"
    android:text="All Rights Reserved. Lee Guanhua 2014."
    android:textAppearance="?android:attr/textAppearanceSmall"
    android:textSize="8sp" />

【问题讨论】:

    标签: android numberpicker


    【解决方案1】:
    int pos = np.getValue() 
    

    应该得到索引。

    values[pos] 
    

    为您带来价值

    【讨论】:

    • 知道了,谢谢!不过,我需要确保另一条线路没问题,你能检查一下吗?
    • 你的意思是什么?来自您的其他问题?
    • 这个:int pushupReps = Integer.parseInt(push_ups.getText().toString());
    【解决方案2】:
    int index = np.getValue();
    String selectedString = values[index]; // you will have the desired String from values array in selectedString
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-07-10
      • 2011-05-16
      • 2019-10-18
      • 1970-01-01
      • 2022-01-04
      • 1970-01-01
      • 2016-06-11
      • 1970-01-01
      相关资源
      最近更新 更多