如何在警告对话框中创建复选框并从数据库中获取检查值
请给我一些代码示例谢谢。
答案 0 :(得分:0)
此代码对您有所帮助。评论是内联的
public class HelloActivity extends Activity {
private InputStream is = null;
private StringBuilder sb=null;
private String resultString = null;
private JSONArray jArray;
private String categoryList = "";
private String[] categoryListArray ;
public HelloActivity() {
}
/**
* Called with the activity is first created.
*/
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getCategoryList();//get the category list
createCategoryView();
}
/*
* based on the data retrived from the database, the list of category names will be showed here
*/
private void createCategoryView() {
// TODO Auto-generated method stub
ScrollView sv = new ScrollView(this);
LinearLayout ll = new LinearLayout(this);
ll.setOrientation(LinearLayout.VERTICAL);
sv.addView(ll);
TextView tv = new TextView(this);
tv.setText("Foods :-)");
ll.addView(tv);
for(int i = 0; i < categoryListArray.length; i++) {
CheckBox cb = new CheckBox(this);
cb.setText(categoryListArray[i]);
ll.addView(cb);
}
Button b = new Button(this);
b.setText("Find Shops");
b.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
Toast.makeText(getBaseContext(), categoryList ,Toast.LENGTH_LONG).show();
}
});
ll.addView(b);
this.setContentView(sv);
}
/*
* For getting the category list from the database
* I used php script here, which will return JSON object contains categoryId and CategoryName
*/
private void getCategoryList() {
// TODO Auto-generated method stub
ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
//http post
try{
HttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost("http://192.168.11.156/city.php");
nameValuePairs.add(new BasicNameValuePair("requestText", "requestText"));
httpPost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
HttpResponse response = httpClient.execute(httpPost);
HttpEntity entity = response.getEntity();
is = entity.getContent();
}catch(Exception ex){
Log.e("log_tag", "Error in http connection"+ex.toString());
}
//convert response to string
try{
BufferedReader reader = new BufferedReader(new InputStreamReader(is,"iso-8859-1"),8);
sb = new StringBuilder();
sb.append(reader.readLine() + "\n");
String line="0";
while ((line = reader.readLine()) != null) {
sb.append(line + "\n");
}
is.close();
resultString=sb.toString();
}catch(Exception e){
Log.e("log_tag", "Error converting result "+e.toString());
}
//paring data
int categoryId;
String categoryName;
try{
jArray = new JSONArray(resultString);
JSONObject json_data=null;
categoryListArray = new String[jArray.length()];
for(int i=0;i<jArray.length();i++){
json_data = jArray.getJSONObject(i);
categoryId=json_data.getInt("categoryId");
categoryName=json_data.getString("categoryName");
categoryListArray[i] = categoryName;
categoryList = categoryList + categoryName;
if(i != jArray.length()-1){
categoryList += ",";
}
}
}
catch(JSONException e1){
Toast.makeText(getBaseContext(), "No Categories are found" ,Toast.LENGTH_LONG).show();
} catch (ParseException e1) {
e1.printStackTrace();
}
}
}
由于