2014-02-24 47 views
0

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

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

回答

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 
    } 

} 

希望这个传递过程值选择的第一旋转器之后你需要什么...

相关问题