2016-05-12 23 views
0

保存ボタンを押すと、選択したスピナーのアイテムをデータベースに挿入します。 スピナーが2つあります。 1つは配列から読み込まれ、もう1つはsqliteのd/bから読み込まれます。 両方のスピナーで選択した項目の文字列を取得するにはどうすればよいですか? 私のコードは以下の通りです:選択したスピナーのアイテムを取得

パブリッククラスaddLectureはAppCompatActivityがあなたのようAdapterView.OnItemSelectedListenerあなたItemSelectedListenerで{

Spinner spinner_day; 
Spinner spinner_subject; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_add_lecture); 

    spinner_subject = (Spinner) findViewById(R.id.spinner_subject); 
    spinner_day = (Spinner) findViewById(R.id.spinner_day); 

    loadSpinner_subjectData(); 
    loadSpinner_dayData(); 
} 


private void loadSpinner_subjectData(){ 
    SubjectDbHelper subjectDbHelper=new SubjectDbHelper(getApplicationContext()); 
    List<String> spinner_name=subjectDbHelper.getSpinnerItem(); 

    ArrayAdapter<String> spinner_adapter= new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,spinner_name); 
    spinner_adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
    spinner_subject.setAdapter(spinner_adapter); 
} 

private void loadSpinner_dayData(){ 

    String day_name[]={"Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"}; 

    ArrayAdapter<String> spinner_dayAdapter=new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,day_name); 
    spinner_dayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
    spinner_day.setAdapter(spinner_dayAdapter); 

} 

@Override 
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { 
    //not working String label=parent.getItemAtPosition(position).toString(); 

// not working String spinner_item_day=spinner_day.getItemAtPosition(position).toString(); 

/*not working SQLiteCursor subject=(SQLiteCursor)parent.getItemAtPosition(position); 
    String spinner_item_subject=String.valueOf(subject.getString(position));*/ 

    //log is not shown Log.d("spinner",spinner_item_day); 

} 

@Override 
public void onNothingSelected(AdapterView<?> parent) { 

} 

}

答えて

0

が、あなたは、それが待機しているスピナー指定していない実装して拡張コードは次のようになります。

spinner_day.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { 

     @Override 
     public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { 

      String selectedDay = (String) parent.getItemAtPosition(position); 
      // or parent.getSelectedItem(); 
     } 

     @Override 
     public void onNothingSelected(AdapterView<?> parent) { 

     } 
    }); 

他のスピナーと同じにする必要があります。これがうまくいかない場合は、私に教えてください。

関連する問題