まず、私は自分の質問に答えるべきかどうかについてthis linkを参照しました。私はこれが同じような問題に直面している人にとって非常に役立つと感じました。これがこのウェブサイトの適切なエチケットでない場合はお詫びします。
今、この問題の解決策を見つけようとしています。試行錯誤して成功しました。だから、あなたはActionBarSherlock SDKは、スピナーを組み込む予定レイアウトを作成し、ダウンロードしてプロジェクトに設定した後:
<com.actionbarsherlock.internal.widget.IcsSpinner
android:id="@+id/spinner"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/title"
android:layout_margin="10sp"
android:layout_centerHorizontal="true"
android:textSize="18sp" />
を上記のコードはActionBarSherlockライブラリにあるスピナーのICSバージョンを使用します。次に、あなたのアクティビティで、スピナーオブジェクトを宣言して(キャストを使用して)インスタンス化します。しかし、あなたは、通常のSpinnerクラスを使用していないことに注意してください、あなたはActionBarSherlockライブラリで見つかったIcsSpinnerクラスを使用します。
:今
IcsSpinner spinner = (IcsSpinner)findViewById(R.id.spinner);
を、あなたはそうのように、ちょうどあなたが通常のスピナーの場合と同じようにアダプタを作成します
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.spinner_item, elements);
spinner.setAdapter(adapter);
最後に、onItemSelectedListener
を設定する必要があります。ここでの唯一の大きな違いは、あなたがいうだけでOnItemSelectedListener
よりもIcsAdapterView.OnItemSelectedListener
を使用することである:
spinner.setOnItemSelectedListener(new IcsAdapterView.OnItemSelectedListener(){
@Override
public void onItemSelected(IcsAdapterView<?> parent, View view, int position, long id){
}
@Override
public void onNothingSelected(IcsAdapterView<?> parent){
}
});
そして、それはそれです。スピナーオブジェクトを使用するだけではそれほど違いはありません。 それは簡単ですが、それは私が理解するのにしばらく時間がかかりました。だから、これは誰かにとって有益だと思います。
そうそう、および(マニフェストに)ので、同様に、ActionBarSherlockのテーマを使用することを忘れないでください:良い答えを
android:theme="@style/Theme.Sherlock"
+1。 – Ahmad
アンドロイドサポートライブラリのスピナーのようなICSを使用する方法はありますか?私はActionBarSherlockを使用していません。 –
@sureshcheemalamudi [ホロカラージェネレータ](http://android-holo-colors.com/)は、バックグラウンドと唯一の違いは、icsスピナーがアウトラインなし – oscarthecat