OWA
OWA

Reputation: 45

spinner data from sqlite

I'm trying to fill spinner item from sqlite table

i have no idea how to do it , i tried to follow other example but i think its different than mine

what is the easiest way to do it and how can i set onclicklistener for each item

Thanks in advance

MainActivity + sqliteopenhelper

public ArrayList<String> getTableValues() {

    ArrayList<String> my_array = new ArrayList<String>();
    try {
        SQLiteDatabase db = this.getWritableDatabase();
        Cursor resultPPNAME = db.rawQuery("select NAMEPPL from " + Table_name2, null);
        if (resultPPNAME.moveToFirst()) {
            String PPLNAMESPIN = resultPPNAME.getString(0);
            my_array.add(PPLNAMESPIN);
        }
        while (resultPPNAME.moveToNext()) ;


    } catch (Exception e) {

    }
    return my_array;
}

MainActivity

public class MainActivity extends AppCompatActivity implements AdapterView.OnItemSelectedListener{

DB db;
Button addmed,addpl;
TextView PPLNAMERES;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    PPLNAMERES = (TextView)findViewById(R.id.PPLNAMEGETNAME);
    db = new DB(this);

    listView();

    String spinValue = db.getMainData().toString();
    ArrayList<String> my_array= new ArrayList<String>();
    my_array = db.getTableValues();


    Spinner spinner = (Spinner)findViewById(R.id.spin1);
    ArrayAdapter<String> my_adapter = new  ArrayAdapter(this,R.layout.support_simple_spinner_dropdown_item,my_array);

spinner.setAdapter(my_adapter);
}


public void addmedView(View view){
    Intent ADDMEDVIEW = new Intent(this,ADDMEDCINEVIEW.class);
    startActivity(ADDMEDVIEW);

}
public void addpplview(View view){
    Intent ADDPPLVIEWS = new Intent(this,ADDPPLVIEW.class);
    startActivity(ADDPPLVIEWS);
}
public void listView(){

Cursor res= db.getMainData();
if(res.moveToFirst()){
    PPLNAMERES.setText(res.getString(0));
   } else{
    Toast.makeText(MainActivity.this,"No Data",Toast.LENGTH_LONG).show();
    return;
}}

@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {

}

@Override
public void onNothingSelected(AdapterView<?> parent) {

}}

adapter code

    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    PPLNAMERES = (TextView)findViewById(R.id.PPLNAMEGETNAME);
    db = new DB(this);
    ArrayList<String> my_array= new ArrayList<String>();
    my_array = db.getTableValues();
    Spinner spinner = (Spinner)findViewById(R.id.spin1);
    ArrayAdapter<String> my_adapter = new    ArrayAdapter(this,R.layout.support_simple_spinner_dropdown_item,my_array);

 spinner.setAdapter(my_adapter);
} 

onitemselected methods

 public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {

    Toast.makeText(parent.getContext(),
            "OnItemSelectedListener : " + parent.getItemAtPosition(position).toString(),
            Toast.LENGTH_SHORT).show();
}

@Override
public void onNothingSelected(AdapterView<?> parent) { }

Upvotes: 0

Views: 80

Answers (1)

Chirag Savsani
Chirag Savsani

Reputation: 6140

// try like this.

public ArrayList<String> getTableValues() {

    ArrayList<String> my_array = new ArrayList<String>();
    try {
        SQLiteDatabase db = this.getWritableDatabase();
        Cursor resultPPNAME = db.rawQuery("select NAMEPPL from " + Table_name2, null);
      // Change Made HERE
        resultPPNAME.moveToFirst();
        while (cur.isAfterLast() == false) {
            String PPLNAMESPIN = resultPPNAME.getString(0);
            cur.moveToNext();
            my_array.add(PPLNAMESPIN);
        }



    } catch (Exception e) {

    }
    return my_array;
}

Upvotes: 1

Related Questions