java - How to retrieve the int value of a selected item in a spinner? -


i'm making relational database app in android displays invoice based on selected id have used populate spinner. spinner populates correctly, need integer value of id(not index of spinner) parameter of viewinvoice method holds sql. have tried using getselecteditem method, doesn't seem need.

here code spinner:

package com.example.dh0020348.inventory;  import android.app.alertdialog; import android.database.cursor; import android.os.bundle; import android.support.v7.app.appcompatactivity; import android.support.v7.widget.toolbar; import android.view.view; import android.widget.adapterview; import android.widget.arrayadapter; import android.widget.spinner; import android.widget.textview;  public class viewallcustomers extends appcompatactivity { dbhelper db; textview id, name, email, address, city, state, zip, phone, invoiceid;  @override protected void oncreate(bundle savedinstancestate) {     super.oncreate(savedinstancestate);     setcontentview(r.layout.activity_view_all_customers);     toolbar toolbar = (toolbar) findviewbyid(r.id.toolbar);     setsupportactionbar(toolbar);     db = new dbhelper(this);      final spinner spinner = (spinner) findviewbyid(r.id.spinnerinvoiceid);      dbbackend dbbackend = new dbbackend(viewallcustomers.this);     string[] spinnerlists = dbbackend.getallspinnercontent();      arrayadapter<string> spinneradapter = new arrayadapter<string>(viewallcustomers.this,android.r.layout.simple_spinner_item, spinnerlists);     spinneradapter.setdropdownviewresource(android.r.layout.simple_spinner_dropdown_item);     spinner.setadapter(spinneradapter);     spinner.setonitemselectedlistener(new adapterview.onitemselectedlistener() {         @override         public void onitemselected(adapterview<?> parent, view view, int position, long id) {             double total;             cursor res = db.viewinvoice(integer.parseint(string.valueof(spinner.getselecteditem())));             if (res.getcount() == 0) {                 // show message                 showmessage("error", "nothing found");                 return;             }             stringbuffer buffer = new stringbuffer();              buffer.append("invoice id: " + res.getstring(0) + "\n");             buffer.append("date: " + res.getstring(1) + "\n");             buffer.append("name: " + res.getstring(2) + "\n");             buffer.append("street address: " + res.getstring(8) + "\n");             buffer.append("city: " + res.getstring(9) + "\n");             buffer.append("state: " + res.getstring(10) + "\n");             buffer.append("zip code: " + res.getstring(11) + "\n");             buffer.append("phone: " + res.getstring(12) + "\n");             buffer.append("item: " + res.getstring(4) + "\n");             buffer.append("size: " + res.getstring(5) + "\n");             buffer.append(string.format("price per item: %.2f", double.parsedouble(res.getstring(7))) + "\n");             buffer.append("quantity: " + res.getstring(6) + "\n");             total = double.parsedouble(res.getstring(7)) * double.parsedouble(res.getstring(6));             buffer.append(string.format("total price: %.2f", total));              // show data             showmessage("data", buffer.tostring());         }          @override         public void onnothingselected(adapterview<?> parent) {          }     });      id = (textview) findviewbyid(r.id.lblcustomerid);     name = (textview) findviewbyid(r.id.lblcustomername);     email = (textview) findviewbyid(r.id.lblcustomeremail);     address = (textview) findviewbyid(r.id.lblcustomeraddress);     city = (textview) findviewbyid(r.id.lblcity);     state = (textview) findviewbyid(r.id.lblstate);     zip = (textview) findviewbyid(r.id.lblzip);     phone = (textview) findviewbyid(r.id.lblphone);     invoiceid = (textview) findviewbyid(r.id.lblinvoice);      viewallcustomers(); //        viewcustomerinvoices();     getsupportactionbar().setdisplayhomeasupenabled(true);  }  //display stringbuffer message public void showmessage(string title, string message){     alertdialog.builder builder = new alertdialog.builder(this);     builder.setcancelable(true);     builder.settitle(title);     builder.setmessage(message);     builder.show(); }  public void viewallcustomers(){      cursor res = db.viewallcustomers();     while (res.movetonext()) {         id.settext("id: " + res.getstring(0));         name.settext("name: " + res.getstring(1));         email.settext("email: " + res.getstring(2));         address.settext("address: " + res.getstring(3));         city.settext("city: " + res.getstring(4));         state.settext("state: " + res.getstring(5));         zip.settext("zip: " + res.getstring(6));         phone.settext("phone: " + res.getstring(7));         invoiceid.settext("invoice id:");     } } } 

and here method query in dbhelper class:

 //view single saved invoice public cursor viewinvoice(int id){     sqlitedatabase db = this.getwritabledatabase();     cursor res = db.rawquery("select ord." + invoice_id + ", " + invoice_date + ", " + c_customer_name + ", cus."             + c_customer_id + ", inventory." + inventory_item + ", " + ordered_size + ", " + ordered_quantity + ", "             + inventory_price + ", " + c_street_address + ", " + c_city + ", " + c_state +             ", " + c_zip + ", " + c_phone +             " " + table_invoice + " inv inner join " + table_customer + " cus " +             "on inv." + c_customer_id + " = " + "cus." + c_customer_id +             " inner join " + table_ordered + " ord on inv." + invoice_id + " = " + "ord." + ordered_id +             " inner join " + table_inventory + " inventory " +             "on ord." + inventory_id + " = " + " inventory." + inventory_id, null);     if(res != null)         res.movetofirst();     return res; } 

did try spinner.getselecteditem().tostring();

then cast whatever object have populated with.


Comments