mardi 14 octobre 2014

By default spinner takes the first value and populates the list view , i want to manually select the spinner and populate the listview


Vote count:

0





protected void onCreate(Bundle savedInstanceState) {

poplateLanguages();
populateMenuIteams();
}
//populating the spinner
private void poplateLanguages() {
String sql = "SELECT langId, langDesc FROM LangMaster";
Cursor cursor = db.rawQuery(sql, null);

if (cursor.getCount() > 0) {
langList = new ArrayList<String>();
while (cursor.moveToNext()) {
langList.add(cursor.getString(1));
}
}

if (null != langList && langList.size() > 0) {
ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item, langList);
/* dataAdapter
.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); */
lang_spinner.setAdapter(dataAdapter);

lang_spinner.setOnItemSelectedListener(this);
selectedLanguage=langList.get(langPos);

}
}
//populating the list view depending upon the onsslectedIteam option
private void populateMenuIteams() {
List<MenuItem> menuList=null;
MenuItem menuItem=null;
CustomAdapter customAdapter=null;

String sql = "SELECT mdTitle, mdDesc,mdPrice FROM MenuDetails where mdmmID IN(select mmId FROM MenuMaster where mmLangId IN(SELECT langId FROM LangMaster WHERE langDesc='"+selectedLanguage+"'))";


Cursor cursor = db.rawQuery(sql, null);

if (cursor.getCount() > 0) {
menuList=new ArrayList<MenuItem>();
while (cursor.moveToNext()) {
menuItem=new MenuItem();
menuItem.setTitle(cursor.getString(0));
menuItem.setDesc(cursor.getString(1));
menuItem.setPrice(cursor.getString(2));
menuList.add(menuItem);
}
customAdapter=new CustomAdapter(this, menuList);
menuItemListView.setAdapter(customAdapter);
menuItemListView.setOnItemClickListener(this);
}
}
@Override
public void onItemSelected(AdapterView<?> parent, View view, int pos,long arg3) {
selectedLanguage = parent.getItemAtPosition(pos).toString();
this.langPos = pos;

Toast.makeText(parent.getContext(),
"You selected: " + selectedLanguage, Toast.LENGTH_LONG).show();
}


After debugging ---> onItemSelected -> shows selected spinner language item china -> but the sql query


"SELECT mdTitle, mdDesc,mdPrice FROM MenuDetails where mdmmID IN(select mmId FROM MenuMaster where mmLangId IN(SELECT langId FROM LangMaster WHERE langDesc='"+selectedLanguage+"'))";


In this selectedLanguage still shows,by default the top language( in my case its english even thought I select china).



asked 1 min ago







By default spinner takes the first value and populates the list view , i want to manually select the spinner and populate the listview

Aucun commentaire:

Enregistrer un commentaire