I want to use two spinners on my gridview to act as filters. One for TERMS and one for STATUS. Specifically what I want to happen is that the user can use those two spinners INDIVIDUALLY or TOGETHER to filter the view of accounts in the DB.
Taking it one step at a time I've gotten one spinner running and working properly. So I cloned that working spinner code to get my second one up and running.
Nope, not working. Using either of the two spinners now result in nothing. No accounts show up anymore. If anything is missing or you need to see more of the code please feel free to ask. Cheers.
Here's the spinners snippets:
Utilities.ManageTermSpinner(this.getParent(), spinTerm);
try {
spinTerm.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1,
int arg2, long arg3) {
LoadGrid();
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
}
});
} catch (Exception ex) {
txtTest.setText(ex.toString());
}
Utilities.ManageStatSpinner(this.getParent(), spinStat);
try {
spinStat.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1,
int arg2, long arg3) {
LoadGrid();
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
}
});
} catch (Exception ex) {
txtTest2.setText(ex.toString());
}
}
Here's the LoadGrid that it references:
public void LoadGrid() {
dbHelper = new DatabaseHelper(this);
try {
View v = spinTerm.getSelectedView();
TextView txt = (TextView) v.findViewById(R.id.txtTermClass);
String Terms = String.valueOf(txt.getText());
Cursor c = dbHelper.getAccByTerms(Terms);
startManagingCursor(c);
View x = spinStat.getSelectedView();
TextView txt2 = (TextView) x.findViewById(R.id.txtStatID);
String Status = String.valueOf(txt2.getText());
Cursor b = dbHelper.getAccByStatus(Status);
startManagingCursor(b);
String[] from = new String[]{DatabaseHelper.colName, DatabaseHelper.colAmount, DatabaseHelper.colTermsClass, DatabaseHelper.colStatClass};
int[] to = new int[]{R.id.colName, R.id.colAmount, R.id.colTerms, R.id.colStat};
SimpleCursorAdapter sca = new SimpleCursorAdapter(this, R.layout.gridrow, c, from, to);
grid.setAdapter(sca);
SimpleCursorAdapter sba = new SimpleCursorAdapter(this, R.layout.gridrow, b, from, to);
grid.setAdapter(sba);
} catch (Exception ex) {
AlertDialog.Builder b = new AlertDialog.Builder(this);
b.setMessage(ex.toString());
b.show();
}
}
And the Utilities snippet where I keep the ManageSpinner stuff:
public class Utilities {
static public void ManageTermSpinner(Context context, Spinner view) {
DatabaseHelper dbHelper = new DatabaseHelper(context);
Cursor c = dbHelper.getAllTerms();
SimpleCursorAdapter ca = new SimpleCursorAdapter(context, R.layout.termspinnerrow, c, new String[]{DatabaseHelper.colTermsClass, "_id"}, new int[]{R.id.txtTermClass});
view.setAdapter(ca);
}
static public void ManageStatSpinner(Context context, Spinner view) {
DatabaseHelper dbHelper = new DatabaseHelper(context);
Cursor d = dbHelper.getAllStatus();
SimpleCursorAdapter da = new SimpleCursorAdapter(context,R.layout.statspinnerrow, d, new String[]{DatabaseHelper.colStatClass,"_id"}, new int[]{R.id.txtStatClass});
view.setAdapter(da);
}
Aucun commentaire:
Enregistrer un commentaire