2014-02-24 150 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 
    } 

} 

希望這個傳遞過程值選擇的第一旋轉器之後你需要什麼...

相關問題