2013-03-28 23 views
7

詳細の追加と詳細の編集に同じページを使用する必要があるフォームを準備しました。詳細を追加する間、すべてのフィールドは空白になり、スピナーの選択は「選択なし」に設定されます。 これで、前のアクティビティから渡すアイテムのスピナー選択を設定します。これを達成する方法は? スピナーには、次のようなメソッドはありません。setSelection(String string); またはその他の方法があり、私はこのメカニズムを達成することができます...スピナー選択の設定方法

は、誰もが、私は今、どのように頻繁に、これは使用されるかもしれないいけない...

+0

スピナーがAbsSpinnerのサブクラスで正常に動作するようですとAbsSpinnerはメソッドを持っていsetSelectionのhttp:/ /developer.android.com/reference/android/widget/AbsSpinner.html#setSelection(int、boolean) –

+0

@nidhi_adiga。ええ、そうです。しかし、私はsetSelection(int position);に渡したいテキストのidを持っていないので、idでなく名前でスピナーの選択をする必要があります。 –

+0

ねえ、こんなことができますか? category_spinner.setSelection(category_spinner_array_list.indexOf( "cat_name")); –

答えて

11

を助けてくださいだろうが、我々は、スピナーの選択を設定することができますその中のテキストで スピナーにはメソッドがあります。setSelection(int position);

は今、パラメータに我々はgetIndexOf(Object object)によって、我々は、アダプタにバインドするために使用array_listから得ることができるとArrayList場合、オブジェクトは、例えば、宣言されArrayListの型でなければなりません、テキストの位置を渡す必要がありますString型である場合、getIndexOf(Object object)に渡すオブジェクトはString型でなければなりません。

最後に、あなたは以下のように選択範囲を設定します。

spinner.setSelection (spinner_array_list.indexOf(string)); 
13

これは私がやったことであり、それは

Spinner my_spinner=(Spinner)findViewById(R.id.spn_items); 
ArrayAdapter<String> array_spinner=(ArrayAdapter<String>)my_spinner.getAdapter(); 
    my_spinner.setSelection(array_spinner.getPosition("list item")); 
+0

分かりやすいです。ありがとうございます... –

関連する問題