选择第一个微调器后启用第二个微调器 - Android

时间:2014-02-24 11:45:00

标签: android android-fragments fragment android-spinner

我有一个微调器(choice1)从数据库中获取它的值,我想第二个微调器(choice2)只有在选择了第一个微调器后才可用。此外,'course'的值需要传递给choice2适配器。

public class EventFragment extends Fragment {

    private int index;

      private Context ctx;
      private Spinner choice1;
      private Spinner choice2;
      View v;

 ........................

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {

    v = inflater.inflate(R.layout.event_fragment, null);
    this.ctx = getActivity();

 .......................

        choice1 = (Spinner) v.findViewById(R.id.courseSpinner);

        ArrayAdapter<String> dataAdapter1 = new ArrayAdapter<String>(ctx,
            android.R.layout.simple_spinner_item, db.getAllCourses());
        dataAdapter1.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        choice1.setAdapter(dataAdapter1);

        String course;
        course = choice1.getItemAtPosition(choice1.getSelectedItemPosition()).toString();

//在使用

中传递的课程值选择第一个微调器后启用第二个微调器
        choice2 = (Spinner) v.findViewById(R.id.dateSpinner);

        ArrayAdapter<String> dataAdapter2 = new ArrayAdapter<String>(ctx,
            android.R.layout.simple_spinner_item, db.getCourseDates(course));
        dataAdapter2.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        choice2.setAdapter(dataAdapter2);

1 个答案:

答案 0 :(得分:0)

choice1.setOnItemSelectedListener(myListener);

private AdapterView.OnItemSelectedListener myListener = new AdapterView.OnItemSelectedListener { 

   @Override
    public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
       // ADD YOUR CODE FOR DATABASE HERE
       // make your second spinner visible here

       //ALSO perform click to you second spinner like this
       choice2.performClick();
}

@Override
    public void onNothingSelected(AdapterView<?> adapterView) {
//HIDE YOUR SECOND SPINNER IF NOTHING SELECTED
   }

}

希望这就是你需要的......