0

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);
DevSe
  • 53
  • 3
  • 11
  • Too much code. But what are you doing with the return value of `rawQuery`? – CL. Dec 09 '14 at 08:40
  • @CL I've removed the extra code...That's what i want to do. I want to use the return value to display it in my view but I couldn't figure out how to do that – DevSe Dec 09 '14 at 10:24
  • @CL I probably got to the appropriate code but it seems there's an error in one of my methods. I'll edit my codes accordingly and I would be grateful if you could check it and advise any solution. – DevSe Dec 09 '14 at 21:31
  • why don't you use cursor adapter for populating listview ??? – edwin Dec 09 '14 at 22:09
  • are you looking for refreshing the list view ??http://stackoverflow.com/questions/2250770/how-to-refresh-android-listview – edwin Dec 09 '14 at 22:12
  • @edwin I used cursor adapter(check the edited code), however on spinner selections the results don't show up. Will "refreshing the list view" fix that? – DevSe Dec 09 '14 at 22:40
  • @edwin answers in the link didn't help... after choosing my options from the spinner nothing seems to change as if no code exists – DevSe Dec 10 '14 at 10:54

1 Answers1

-1

Check This Link! May It Help You!

Android Populating Spinner data from MySQL Database Source:AndroidHive

Try to ask Your Problem on Google First! Do it Again And Again, Atleast Check 8-10 Website then Post Quetion!

Cheers -Aman

AmniX
  • 653
  • 5
  • 12
  • I did search Google first and all searches resulted in tutorials like the one you just suggested. These tutorials guide the developer how to populate the spinner from the database. However, I want to populate a list view or a table after selecting items from my spinners. – DevSe Dec 09 '14 at 11:28