Reputation: 143
I have been having a problem lately, I have successfully created a listview in the FillList method that displays the items that i need. That is all well. The problem is how do I convert it to a multi-select checkbox like style so that when I select an item it will just be stored in an array for later use. Any insight is helpful.
Here is my PathfinderUpdate.java:
public class PathfinderUpdate extends Fragment {
ConnectionClass connectionClass;
EditText edtproname, edtprodesc;
Button btnadd,btnupdate,btndelete,btnrefresh;
ProgressBar pbbar;
ListView lstpro;
String pathid;
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.update_pathfinder, container, false);
connectionClass = new ConnectionClass();
btnupdate = (Button) rootView.findViewById(R.id.btnupdate);
lstpro = (ListView) rootView.findViewById(R.id.lstproducts);
btnrefresh = (Button) rootView.findViewById(R.id.btnrefresh);
pathid = "";
FillList fillList = new FillList();
fillList.execute("");
btnrefresh.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
FillList Fill = new FillList();
Fill.execute("");
}
});
return rootView;
}
@Override
public void onResume(){
super.onResume();
FillList Fill = new FillList();
Fill.execute("");
}
public class FillList extends AsyncTask<String, String, String> {
String z = "";
List<Map<String, String>> prolist = new ArrayList<Map<String, String>>();
@Override
protected void onPreExecute() {
//old pbbar
}
@Override
protected void onPostExecute(String r) {
String[] from = { "pathfinder_id", "pathfinder_name"};
int[] views = { R.id.lblproid, R.id.lblproname };
final SimpleAdapter ADA = new SimpleAdapter(getActivity(),
prolist, R.layout.lsttemplate, from,views);
lstpro.setAdapter(ADA);
lstpro.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1,
int arg2, long arg3) {
@SuppressWarnings("unchecked")
HashMap<String, Object> obj = (HashMap<String, Object>) ADA
.getItem(arg2);
pathid = (String) obj.get("pathfinder_id");
String idea_name = (String) obj.get("pathfinder_name");
String benefit_eqv = (String) obj.get("pathfinder_eqv");
String quickwin = (String) obj.get("pathfinder_quick");
String observe = (String) obj.get("pathfinder_obs");
String ideaId = (String) obj.get("pathfinder_idea_id");
String BenefitId = (String) obj.get("pathfinder_benefit");
String closure = (String) obj.get("pathfinder_closure");
Integer ideaIdMain = Integer.parseInt(ideaId);
Integer benefitIdMain = Integer.parseInt(BenefitId);
Integer pathfinderId = Integer.parseInt(pathid);
Double benefiteqv = Double.parseDouble(benefit_eqv);
Bundle bundle = new Bundle();
bundle.putString("id2", pathid);
bundle.putString("name", idea_name);
bundle.putDouble("eqv", benefiteqv);
bundle.putString("quick", quickwin);
bundle.putString("observation", observe);
bundle.putInt("idea_id", ideaIdMain);
bundle.putInt("benefit_id", benefitIdMain);
bundle.putString("closure", closure);
bundle.putInt("id", pathfinderId);
Intent updateMain = new Intent(getActivity(), PathfinderUpdateMain.class);
updateMain.putExtras(bundle);
startActivity(updateMain);
// qty.setText(qtys);
}
});
}
@Override
protected String doInBackground(String... params) {
try {
Connection con = connectionClass.CONN();
if (con == null) {
z = "Error in connection with SQL server";
} else {
String query = "select * from pathfinder ORDER BY pathfinder_id ASC";
PreparedStatement ps = con.prepareStatement(query);
ResultSet rs = ps.executeQuery();
ArrayList<String> data1 = new ArrayList<String>();
while (rs.next()) {
Map<String, String> datanum = new HashMap<String, String>();
datanum.put("pathfinder_id", rs.getString("pathfinder_id"));
datanum.put("pathfinder_name", rs.getString("pathfinder_name"));
datanum.put("pathfinder_status", rs.getString("pathfinder_status"));
datanum.put("pathfinder_eqv", rs.getString("pathfinder_potential_eqv"));
datanum.put("pathfinder_obs", rs.getString("pathfinder_observation"));
datanum.put("pathfinder_quick", rs.getString("pathfinder_quickwin"));
datanum.put("pathfinder_idea_id", rs.getString("idea_id"));
datanum.put("pathfinder_benefit", rs.getString("benefit_id"));
datanum.put("pathfinder_closure", rs.getString("pathfinder_target_closure"));
prolist.add(datanum);
}
z = "Success";
}
} catch (Exception ex) {
z = "Error retrieving data from table";
Log.e("MYAPP", "exception", ex);
}
return z;
}
}
}
Upvotes: 0
Views: 51
Reputation: 3260
Check this out i believe its much more close to the new design guidelines!!!
Upvotes: 1
Reputation: 133
You can create your own adapter and customise list item.
here is a tutorial about list view.
for your questions. chapter 15 might be what you have been looking for.
http://www.vogella.com/tutorials/AndroidListView/article.html#listview_selection
hope this help !!!
Upvotes: 0