【问题标题】:Get selected item of spinner获取微调器的选定项
【发布时间】:2016-05-12 02:54:19
【问题描述】:

我想在按下保存按钮时将选定的微调器项目插入数据库。 有两个微调器。一个来自数组,另一个来自 sqlite d/b。 如何获取两个微调器的选定项目的字符串。 我的代码如下:

公共类 addLecture 扩展 AppCompatActivity 实现 AdapterView.OnItemSelectedListener{

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) {

}

}

【问题讨论】:

    标签: android-spinner


    【解决方案1】:

    在您的 ItemSelectedListener 中,您尚未指定它正在侦听哪个微调器,因此您的代码应如下所示:

    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) {
    
            }
        });
    

    其他微调器也应该如此,试试这个,如果这不起作用,请告诉我。

    【讨论】:

      猜你喜欢
      • 2011-08-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-04
      • 2015-01-13
      • 1970-01-01
      相关资源
      最近更新 更多