2017-04-06 13 views
1

の名前値を取得します。私はスピナー内に以下の内容を使用してスピナー

今私の方法をwithing
<string-array name="spinner"> 
    <item name="true">Test</item> 
    <item name="false">Test 2</item> 
</string-array> 

私はスピナーの現在の内容を取得することができます:ここで

Spinner spinner = (Spinner) view.findViewById(R.id.spinner); 
value= Boolean.parseBoolean(spinner.getSelectedItem().toString()); 

はスピナーXMLであります:

<Spinner 
    android:id="@+id/spinner" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_weight="1" 
    android:gravity="end" 
    android:spinnerMode="dropdown" 
    android:entries="@array/spinner_content"/> 

しかし、問題は、このメソッドが返すこと、であるTestTest 2 。しかし、itemnameに格納されている値が必要です。したがって、trueまたはfalseの値が必要です。

代わりにこの値を取得できますか?

+0

スピナーが正しい、ビューおよび文字列配列のですか? – PSchuette

+0

もしそうなら、コンテンツ配列を取得し、コンテンツ名に基づいて項目を見つけて、ここからitemNameを取得することを考えましたか?非常に洗練された実装ではありませんが、実装に足りない一歩があるようです。 – PSchuette

+0

'.getSelectedItemName()。toString()'などのようなものがあるといいと思います... – Zoker

答えて

0

これを試してみてください:

Spinner spinner = (Spinner) view.findViewById(R.id.spinner); 
if(spinner.getSelectedItem().toString().equals("Test")){ 
    value = true; 
}else if(spinner.getSelectedItem().toString().equals("Test 2")){ 
    value = false; 
} 
+0

これは非常に強く結合しています。 – PSchuette

+0

また、私はあなたが 'string.contentEquals(otherstring)'を意味すると思います – PSchuette

+0

私は参照してください。はい、私はセットアップに根本的な欠陥があると信じています – PSchuette

関連する問題