2016-10-20 11 views
1

こんにちは私は、スピナーをクリックして、私が提供するものから1年を選ぶことができるようにします。私は1970年から今年の範囲を提供するだろうが、私はそれをどのように実装するのか分からない。ユーザーがスピナーから特定の年を選択する方法

私はスピナーを作成し、それをこの

<string-array name="spinnerItems"> 
    <item>1970</item> 
    <item>1971</item> 
</string-array> 

ような配列を与えた場合それから私は手で40の以上の項目を追加する必要があるだろう、と私は毎年、手動でアプリを更新する必要があります。また、spinner onClickコールバックは文字列値ではなく、配列内の文字列のインデックスを返します。たとえば、1972がインデックス3になります。

また、私は、ユーザーがより大きいか等しい最初のスピナーで選ばれた年の

最後に、私は年の間隔でAPIリクエストを終了したいと思います。

どうすればいいですか?

+1

[this](http://stackoverflow.com/a/19820912/6950238)のように、値に 'ArrayList'を使うことができます。 –

+0

現在の年を取得します。ループを使用して、1970年から現在の年までArrayListを作成します。 – androidlab

+0

私はそれをすることができたことを知っていませんでした。 – user11230

答えて

0

私はあなたがこれが役立ちます。この

ArrayList<String> years = new ArrayList<String>(); 
int thisYear = Calendar.getInstance().get(Calendar.YEAR); 
for (int i = 1900; i <= thisYear; i++) { 
    years.add(Integer.toString(i)); 
} 
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, years); 

Spinner spinYear = (Spinner)findViewById(R.id.yearspin); 
spinYear.setAdapter(adapter); 

希望をお試しください代わりに、スピナー

の番号リストを作成する年ピッカーを作成するために持っていると思う。..

+0

私は今感謝します。 – user11230

+0

降順で日付を表示したいのですが? – user11230

0

項目をプログラムによってスピンナーに追加できます。

私たちは今、どの年にいるのかを簡単に知ることができ、プログラムを呼び出すことができます。あなたのスピナーに今年までの1800年。

WARNING:擬似コード

Spinner mySpinner = (Spinner) findViewById(R.id.spinner); 
Calendar calendar = Calendar.getInstance(); 
int year = calendar.get(Calendar.YEAR); 
ArrayAdapter<String> adapter; 
List<String> list; 

list = new ArrayList<String>(); 
for(int i = 1800; i <= year; i++) 
{ 
    list.add(i); 
} 
adapter = new ArrayAdapter<String>(getApplicationContext(), android.R.layout.simple_spinner_item, list); 
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
mySpinner.setAdapter(adapter); 
+0

こんにちは、私はDatePickerを使用していません。なぜなら、私は唯一の年ではなく、曜日または月です。ありがとう。 – user11230

+0

あなたの答えは働いていますが、私は早くそれを投稿した人の答えとしてフラグを立てます。 – user11230

+0

よく1分早く投稿しました。彼はちょうど彼の答えを掲示している間に私はあなたに最初に質問した。 – Felix

関連する問題