私は3人のスピナーのために1つのコードを実装したいと思います。ユーザーが登録時に生年月日を記入し、DOBを更新したい場合、DOBはスピナーIを渡します日と月でそれをやったことがありますが、アダプターの年に1つの問題があります。アダプターは(今年18歳)年を取って印刷しますが、私はspinYearが登録時に保管した値をとることを望みます。スピナーにテキストを設定する
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.edit_details_fragment);
Spinner spinDay = (Spinner) findViewById(R.id.spinnerDay);
Spinner spinMonth = (Spinner) findViewById(R.id.spinnerMonth);
Spinner spinYear = (Spinner) findViewById(R.id.spinnerYear);
Button update = (Button)findViewById(R.id.update);
Intent intent =getIntent();
String str_DOB = intent.getStringExtra("dateofbirth");
Log.e("DOB************",str_DOB);
String[] d = str_DOB.split("-");
Log.e("d[0]-------",d[0].toString());
spinYear.setSelection (Integer.parseInt(d[0]));
spinMonth.setSelection (Integer.parseInt(d[1]));
spinDay.setSelection (Integer.parseInt(d[2]));
年アダプタのコード
ArrayList<String> years = new ArrayList<String>();
int thisYear = Calendar.getInstance().get(Calendar.YEAR);
thisYear=thisYear-18;
for (int i = thisYear; i >= 1967; i--) {
years.add(Integer.toString(i));
}
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_dropdown_item_1line, years);
spinYear.setAdapter(adapter);
spinYear.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> adapterView, View view, int pos, long l) {
final String yearName = adapterView.getItemAtPosition(pos).toString().trim();
}
@Override
public void onNothingSelected(AdapterView<?> adapterView) {
}
});
を:あなたにそう
setAdapter
を呼び出した後–