mercredi 8 avril 2015

Checking if checkbox value exist in sqlite or not

I Am populating dynamic checkboxes as per mysql data in listview and store checkbox value in sqlite database if checked. Everything is working fine but am unable to programmatically check the checkbox if sqlite database contains that value. the idea is to create filter for an m-commerce app . Please guide me on this or any other best way to do this. Am targeting API 10.



public class Fltrsubfragment extends Fragment implements View.OnClickListener {

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState)
{
final View view = inflater.inflate(R.layout.fragments, container, false);



return view;
}

@Override
public void onClick(View v) {


}
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);


context = getActivity();
sqlcon = new SQLController(context);




new DownloadJSON().execute();
}
}

}

private class DownloadJSON extends AsyncTask<Void, Void, Void> {

@Override
protected void onPreExecute() {
super.onPreExecute();

mProgressDialog = new ProgressDialog(context);

mProgressDialog.setMessage("Loading...");
mProgressDialog.setIndeterminate(false);

mProgressDialog.show();

}



@Override
protected Void doInBackground(Void... params) {


arraylist = new ArrayList<HashMap<String, String>>();


// Retrieve JSON Objects from the given URL address
String url = Uri.parse("http://ift.tt/1HyrMrB")
.buildUpon()
.build()
.toString();

try {
// Locate the array name in JSON
//String success="";

jsonarray = jsonobject.getJSONArray("btl");
sc= jsonobject.getString("success");

int ja=jsonarray.length();

for (int i = 0; i <= ja; i++) {
HashMap<String, String> map = new HashMap<String, String>();
jsonobject = jsonarray.getJSONObject(i);

map.put("bs", jsonobject.getString("bs"));




arraylist.add(map);
}



} catch (JSONException e) {
Log.e("Error", e.getMessage());
e.printStackTrace();
}

return null;
}

@Override
protected void onPostExecute(Void args) {

rl = (LinearLayout) getView().findViewById(R.id.linearmain);
HashMap<String, String> resultp = new HashMap<String, String>();

sqlcon.open();


Cursor c = sqlcon.readEntry();

int rows = c.getCount();
int cols = c.getColumnCount();

CheckBox[] cb = new CheckBox[arraylist.size()];
for(int i = 0; i < arraylist.size(); i++) {
resultp = arraylist.get(i);

cb[i] = new CheckBox(getActivity());
cb[i].setText(resultp.get(Fltrsubfragment.QWE));
cb[i].setId(i);
rl.addView(cb[i]);

cb[i].setOnClickListener(handleOnClick(cb[i]));




for ( int ikv = 0; ikv < rows; ikv++) {
String z;

int sno = ikv+1 ;
String sn = String.valueOf(sno);
z=sn;

// inner for loop
for (int j = 0; j < cols; j++) {
String iv;
iv=c.getString(j);
if((resultp.get(Fltrsubfragment.QWE))==iv){
cb[i].setSelected(true);
Toast.makeText(context, " Checked " + iv, Toast.LENGTH_LONG).show();
}
else{
cb[i].setSelected(false);
}



}
}






}

sqlcon.close();

}
mProgressDialog.dismiss();


}






View.OnClickListener handleOnClick(final CheckBox button) {
return new View.OnClickListener() {
public void onClick(View v) {

if(button.isChecked()){



name=button.getText().toString();
sqlcon.open();

sqlcon.insertData(name);


}
else{
name=button.getText().toString();

sqlcon.open();
sqlcon.deleteTData(name);
}
}
else {

}
}
}
};





}





}


}

Aucun commentaire:

Enregistrer un commentaire