I am trying to populate a list View from my SQLite Database after selecting both of my 2 spinners. The activity includes: 2 spinners, 3 Text Views, 1 Edit Text I'm trying to show the data retrieved from the database after the selection.
For example, after selecting the first item from the 1st spinner, which will be "bachelor", and the first item from the 2nd spinner, which will be "Business Computer", are selected, the BusinessCourses method will be called from the loginDataBaseAdapter
The getCourses method in my LoginDataBaseAdapter: Edited
public List<BusinessCourses> getCourses(String degreeCode, String majorCode){
List<BusinessCourses> busCoursesList = new ArrayList<BusinessCourses>();
String MY_QUERY = "SELECT course.courseID, course.courseName, "
+ "course.credits FROM course INNER JOIN curriculum ON "
+ "course.courseID=curriculum.courseID WHERE curriculum.majorCode=? and"
+ " curriculum.degCode=?";
SQLiteDatabase db = dbHelper.getWritableDatabase();
Cursor cursor = db.rawQuery(MY_QUERY, new String[]{String.valueOf(majorCode),
String.valueOf(degreeCode)});
if(cursor.moveToFirst()){
do{
BusinessCourses busCourses = new BusinessCourses();
busCourses.setCredits(cursor.getString(0));
busCourses.setCourseCode(cursor.getString(1));
busCourses.setCourseTitle(cursor.getString(2));
busCoursesList.add(busCourses);
} while(cursor.moveToNext());
}
return busCoursesList;
}
The spinner code Edited
final Spinner spinner1 = (Spinner) findViewById(R.id.spinner1);
ArrayAdapter<CharSequence> adapter1 = ArrayAdapter.createFromResource(
this, R.array.degree_array,
android.R.layout.simple_spinner_item);
adapter1.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner1.setPrompt("Choose a degree");
spinner1.setOnItemSelectedListener(this);
spinner1.setAdapter(new NothingSelectedSpinnerAdapter(adapter1,
R.layout.choose_degree, this));
spinner1.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1,
int position, long id) {
if (spinner1.getSelectedItemPosition() == 0 ){
degreeCode = "L";}
if (spinner1.getSelectedItemPosition() == 1 ){
degreeCode = "M1";}
if (spinner1.getSelectedItemPosition() == 2 ){
degreeCode = "M2";}
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
});
final Spinner spinner2 = (Spinner) findViewById(R.id.spinner2);
ArrayAdapter<CharSequence> adapter2 = ArrayAdapter
.createFromResource(this, R.array.major_array,
android.R.layout.simple_spinner_item);
adapter2.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner2.setPrompt("Choose a major");
spinner2.setAdapter(new NothingSelectedSpinnerAdapter(adapter2,
R.layout.choose_major, this));
spinner2.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1,
int arg2, long arg3) {
// TODO Auto-generated method stub
if (spinner2.getSelectedItemPosition() == 0 ){
majorCode = "MIS";}
if (spinner2.getSelectedItemPosition() == 1 ){
majorCode = "Acc";}
if (spinner2.getSelectedItemPosition() == 2 ) {
majorCode = "Mar";}
if (spinner2.getSelectedItemPosition() == 3 ){
majorCode = "Man";}
if (spinner2.getSelectedItemPosition() == 4 ){
majorCode = "B&F";}
if (spinner2.getSelectedItemPosition() == 5 ){
majorCode = "MCB";}
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
});
ListView list = (ListView)findViewById(R.id.BBACList);
LoginDataBaseAdapter db = new LoginDataBaseAdapter(this);
String[] columns = new String[]{businessCourses.CourseCode, businessCourses.CourseTitle, businessCourses.Credits};
int[] viewIDs = new int[]{R.id.courseTitle, R.id.courseCode, R.id.credits};
Cursor cursor = (Cursor) db.getCourses(degreeCode, majorCode);
SimpleCursorAdapter adapter;
adapter = new SimpleCursorAdapter(getBaseContext(), R.layout.list_item, cursor, columns, viewIDs, 0);
list.setAdapter(adapter);