我有两个单选按钮,用于选择性别 - 男性或女性。
我的要求是,如果我点击male
单选按钮,我必须将号码1
发送到服务器,如果我点击female
单选按钮,我必须发送号码{{1}到服务器(在服务器端,他们用这个号码检查。即如果他们收到1那么它是男性,如果他们收到" 2"它是女性)。2
。所以在这里我必须检查我是否得到The server side then give the response as 1 or 2 accordingly
,如果回复是1 as response, I have to set Male as gender
。我该怎么做?
2, I have to set Female as gender
答案 0 :(得分:0)
您已在活动类中获得所有RadioButton的参考资料。
String numberToPass = "1" //default 1 for male
RadioGroup rg = (RadioGroup) findViewById(R.id.user_gender);
RadioButton gender_radio_male = (RadioButton) findViewById(R.id.radioMale);
RadioButton gender_radio_female = (RadioButton) findViewById(R.id.radioFemale);
您必须在类
中添加onRadioButtonClicked()方法public void onRadioButtonClicked(View v) {
switch (v.getId()) {
case R.id.radioMale:
numberToPass = "1";
break;
case R.id.radioFemale:
numberToPass = "2";
break;
}
}
修改强>
<强> CODE:强>
public class MainActivity extends Activity implements AsyncResponse,AsyncResponse2 {
EditText fullname,gender,city,mobileno;
TextView originalname,reviewNumber;
//for displaying in textfield before entering values(when loading)
private static final String TAG_NAME = "fullname";
private static final String TAG_GENDER = "gender";
private static final String TAG_CITY = "city_name";
private static final String TAG_PHNO = "phone_number";
private static final String TAG_REVIEWNUM = "revcount";
RadioButton male,female;
String numberToPass = "1" ;//default 1 for male
//str photo upload
ImageView imageView1, imageView2;
//RoundImage roundedImage, roundedImage1;
//private static int RESULT_LOAD_IMAGE = 1; //added
//end photo upload
Button submit;
//str round img upload
CircularBitmap c= new CircularBitmap();
Button pic;
String selectedImagePath;
ImageView image;
//end round img upload
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_main);
//str photo upload
pic = (Button)findViewById(R.id.button1);
image = (ImageView)findViewById(R.id.imageView1);
//this the button which allows you to access the gallery
pic.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
gallery();
}
});
//end photo upload
fullname=(EditText)findViewById(R.id.nameid);
// gender=(EditText)findViewById(R.id.genderid);
male=(RadioButton)findViewById(R.id.maleid);
female=(RadioButton)findViewById(R.id.femaleid);
city=(EditText)findViewById(R.id.cityid);
mobileno=(EditText)findViewById(R.id.mobileid);
originalname=(TextView)findViewById(R.id.originalnameid);//original name title
reviewNumber=(TextView)findViewById(R.id.reviewNum);
submit=(Button)findViewById(R.id.submitid);
//to display fullname,gender,city,moblieno while loading(so outside buttonclick)
String key1 = "saasvaap123";
String signupid1 = "8";
String url2 = "http://gooffers.in/omowebservices/index.php/webservice/Public_User/get_user_profile?";
//put the below lines outside button onclick since we load the values into edittext when opening the app
CustomHttpClient2 task2 = new CustomHttpClient2();
task2.execute(url2,key1,signupid1);
task2.delegate = MainActivity.this;
//to send values on button click
submit.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
String fullname1= fullname.getText().toString();
String gender1= gender.getText().toString();
String city1= city.getText().toString();
String mobileno1= mobileno.getText().toString();
String key1 = "saasvaap123";
String signupid1 = "3";
// String cityid1 = "3";
//// //str if empty validation
// if(fullname==null)
// {
// Toast.makeText(MainActivity.this,"Please enter your name!", Toast.LENGTH_SHORT).show();
// }
// else if(gender1==null)
// {
// Toast.makeText(MainActivity.this,"Please enter your gender!", Toast.LENGTH_SHORT).show();
// }
// else if(city==null)
// {
// Toast.makeText(MainActivity.this,"Please enter your city name!", Toast.LENGTH_SHORT).show();
// }
// else if(mobileno==null)
// {
// Toast.makeText(MainActivity.this,"Please enter your contact number!", Toast.LENGTH_SHORT).show();
// }
// else
// {
// Toast.makeText(MainActivity.this,"ok!", Toast.LENGTH_SHORT).show();
// }
// // //end if empty validation
//// //end if empty validation
////
String originalname1= originalname.getText().toString();
String url = "http://gooffers.in/omowebservices/index.php/webservice/Public_User/edit_user_profile?";
CustomHttpClient task = new CustomHttpClient();
task.execute(url,key1,signupid1,gender1,mobileno1,fullname1,city1);
task.delegate = MainActivity.this;
//mobile number validation
if (!isValidMobNum(mobileno1)) {
mobileno.setError("Enter valid mobile number!");
}
// key=saasvaap123&signup_id=3&gender=1&phone_number=1234567890&fullname=saas&city_id=3
}
});
} //close oncreate
public void onRadioButtonClicked(View v) {
switch (v.getId()) {
case R.id.radioMale:
numberToPass = "1";
break;
case R.id.radioFemale:
numberToPass = "2";
break;
}
}
//str img upload
//this allows you select one image from gallery
public void gallery() {
Intent intent = new Intent();
intent.setType("image/*");
intent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(Intent.createChooser(intent, "Select Picture"), 1);
}
//when starting activity for result and choose an image, the code will automatically continue here
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode == RESULT_OK) {
if (requestCode == 1) {
Uri current_ImageURI = data.getData();
selectedImagePath = getPath(current_ImageURI);
image.setImageBitmap(c.circle(decodeSampledBitmap(new File(selectedImagePath), 400, 400),Color.rgb(255,255,255)));
}
}
}
public String getPath(Uri contentUri) {
// we have to check for sdk version because from lollipop the retrieval of path is different
if (Build.VERSION.SDK_INT < 21) {
// can post image
String[] proj = {MediaStore.Images.Media.DATA};
Cursor cursor = getApplicationContext().getContentResolver().query(contentUri, proj, null, null, null);
int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
cursor.moveToFirst();
return cursor.getString(column_index);
} else {
String filePath = "";
String wholeID = DocumentsContract.getDocumentId(contentUri);
// Split at colon, use second item in the array
String id = wholeID.split(":")[1];
String[] column = {MediaStore.Images.Media.DATA};
// where id is equal to
String sel = MediaStore.Images.Media._ID + "=?";
Cursor cursor = getContentResolver().query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,column, sel, new String[]{id}, null);
int columnIndex = cursor.getColumnIndex(column[0]);
if (cursor.moveToFirst()) {
filePath = cursor.getString(columnIndex);
}
cursor.close();
return filePath;
}
}
public Bitmap decodeSampledBitmap(File res, int reqWidth, int reqHeight) {
if (res != null) {
// First decode with inJustDecodeBounds=true to check dimensions
final BitmapFactory.Options options = new BitmapFactory.Options();
options.inJustDecodeBounds = true;
try {
FileInputStream stream2 = new FileInputStream(res);
BitmapFactory.decodeStream(stream2, null, options);
stream2.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
// Calculate inSampleSize
BitmapFactory.Options o2 = new BitmapFactory.Options();
o2.inSampleSize = calculateInSampleSize(options, reqWidth, reqHeight);
o2.inJustDecodeBounds = false;
FileInputStream stream = null;
try {
stream = new FileInputStream(res);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
Bitmap bitmap = BitmapFactory.decodeStream(stream, null, o2);
try {
stream.close();
} catch (IOException e) {
e.printStackTrace();
}
return bitmap;
} else
return null;
}
public int calculateInSampleSize(BitmapFactory.Options options, int reqWidth, int reqHeight) {
// Raw height and width of image
final int height = options.outHeight;
final int width = options.outWidth;
int inSampleSize = 1;
if (height > reqHeight || width > reqWidth) {
final int halfHeight = height / 2;
final int halfWidth = width / 2;
// Calculate the largest inSampleSize value that is a power of 2 and keeps both
// height and width larger than the requested height and width.
while ((halfHeight / inSampleSize) > reqHeight && (halfWidth / inSampleSize) > reqWidth) {
inSampleSize *= 2;
}
}
return inSampleSize;
}
//end img upload
//validating mobile num
private boolean isValidMobNum(String mobileno1) {
String MobilePattern = "[0-9]{10,13}"; //can enter upto 13 digits-change here if we need to increase the range of digits
if(mobileno.getText().toString().matches(MobilePattern))
{
Toast.makeText(getApplicationContext(), "phone number is valid",
Toast.LENGTH_SHORT).show();
return true;
}
else if(!mobileno.getText().toString().matches(MobilePattern))
{
Toast.makeText(getApplicationContext(), "Please enter valid 10 digit phone number", Toast.LENGTH_SHORT).show();
return false;
}
return false;
}
//str if empty validation
// if(fullname1==null)
// {
// Toast.makeText(MainActivity.this,"Please enter your name!", Toast.LENGTH_SHORT).show();
// }
// else if(gender1==null)
// {
// Toast.makeText(MainActivity.this,"Please enter your gender!", Toast.LENGTH_SHORT).show();
// }
// else if(city1==null)
// {
// Toast.makeText(MainActivity.this,"Please enter your city name!", Toast.LENGTH_SHORT).show();
// }
// else if(mobileno1==null)
// {
// Toast.makeText(MainActivity.this,"Please enter your contact number!", Toast.LENGTH_SHORT).show();
// }
// else
// {
// Toast.makeText(MainActivity.this,"ok!", Toast.LENGTH_SHORT).show();
// }
// //end if empty validation
//edit
private class CustomHttpClient extends AsyncTask<String, String, String>{
public AsyncResponse delegate=null;
private String msg;
@Override
protected void onPostExecute(String result) {
// TODO Auto-generated method stub
super.onPostExecute(result);
delegate.processFinish(result);
}
@Override
protected void onPreExecute() {
// TODO Auto-generated method stub
super.onPreExecute();
}
@Override
protected String doInBackground(String... params) {
if(params == null) return null;
// get url from params
String url = params[0];
String key1 = params[1];
String signupid1 = params[2];
String gender1 = params[3];
String mobileno1 = params[4];
String fullname1 = params[5];
String city1 = params[6];
//key=saasvaap123&signup_id=3&gender=1&phone_number=1234567890&fullname=saas&city_id=3
ArrayList<NameValuePair> postParameters;
postParameters = new ArrayList<NameValuePair>();
postParameters.add(new BasicNameValuePair("fullname",fullname1));
postParameters.add(new BasicNameValuePair("gender",gender1));
postParameters.add(new BasicNameValuePair("city_name",city1));
postParameters.add(new BasicNameValuePair("phone_number",mobileno1));
postParameters.add(new BasicNameValuePair("key",key1));
postParameters.add(new BasicNameValuePair("signup_id",signupid1));
// //str
try {
// create http connection
HttpClient client = new DefaultHttpClient();
HttpPost httppost = new HttpPost(url);
httppost.setEntity(new UrlEncodedFormEntity(postParameters));
// connect
HttpResponse response = client.execute(httppost);
// get response
HttpEntity entity = response.getEntity();
if(entity != null){
return EntityUtils.toString(entity);
}
else{
return "No string.";
}
}
catch(Exception e){
return "Network problem";
}
}
}
public void processFinish (String output){
Toast.makeText(MainActivity.this,output, Toast.LENGTH_SHORT).show();
try{
JSONObject json=new JSONObject(output);
// Integer success = json.getInt(SUCCESS);
String msg = json.getString("message");
// String Status = json.getString("status");
// String userid = json.getString("userid");
// String usertype = json.getString("usertype");
// Integer userid=json.getInt("userid");
// String User_ID=String.valueOf(userid);
// SharedPreferences sharedpreferences = getSharedPreferences(AQUASAN, Context.MODE_PRIVATE);
// Editor editor = sharedpreferences.edit();
// editor.putString("ID", Employee_ID);
// editor.commit();
//needed
// String fullname = nameid.setText("saas");
// String gender = genderid.setText("0");
// String city_id = cityid.setText("0");
// String phone_number = mobileid.setText("0");
String a="Successfully Updated";
if(msg.compareTo(a)==0){
Toast.makeText(MainActivity.this,"Your profile has been successfully updated!", Toast.LENGTH_SHORT).show();
// Toast.makeText(MainActivity.this,msg, Toast.LENGTH_SHORT).show();
// startActivity(new Intent(Login.this, HomeScreen.class));
}
else{
Toast.makeText(MainActivity.this,"Please enter the details correctly!", Toast.LENGTH_SHORT).show();
}
}catch (JSONException e) {
}
}
//edit
//str customhttp2
private class CustomHttpClient2 extends AsyncTask<String, String, String>{
public AsyncResponse2 delegate=null;
private String msg;
@Override
protected void onPostExecute(String result2) {
// TODO Auto-generated method stub
super.onPostExecute(result2);
delegate.processFinish2(result2);
}
@Override
protected void onPreExecute() {
// TODO Auto-generated method stub
super.onPreExecute();
// fullname=(EditText)findViewById(R.id.nameid);
// gender=(EditText)findViewById(R.id.genderid);
// city=(EditText)findViewById(R.id.cityid);
// mobileno=(EditText)findViewById(R.id.mobileid);
}
@Override
protected String doInBackground(String... params) {
if(params == null) return null;
// get url from params
String url2 = params[0];
String key1 = params[1];
String signupid1 = params[2];
// String gender1 = params[3];
// String mobileno1 = params[4];
// String fullname1 = params[5];
// String city1 = params[6];
//key=saasvaap123&signup_id=3&gender=1&phone_number=1234567890&fullname=saas&city_id=3
ArrayList<NameValuePair> postParameters;
postParameters = new ArrayList<NameValuePair>();
// postParameters.add(new BasicNameValuePair("fullname",fullname1));
// postParameters.add(new BasicNameValuePair("gender",gender1));
// postParameters.add(new BasicNameValuePair("city_id",city1));
// postParameters.add(new BasicNameValuePair("phone_number",mobileno1));
postParameters.add(new BasicNameValuePair("key",key1));
postParameters.add(new BasicNameValuePair("signup_id",signupid1));
try {
// create http connection
HttpClient client = new DefaultHttpClient();
HttpPost httppost = new HttpPost(url2);
httppost.setEntity(new UrlEncodedFormEntity(postParameters));
// connect
HttpResponse response = client.execute(httppost);
// get response
HttpEntity entity = response.getEntity();
if(entity != null){
return EntityUtils.toString(entity);
}
else{
return "No string.";
}
}
catch(Exception e){
return "Network problem";
}
}
}
public void processFinish2 (String output2){
Toast.makeText(MainActivity.this,output2, Toast.LENGTH_SHORT).show();
try{
JSONObject jsonResponse=new JSONObject(output2);
JSONArray aJson = jsonResponse.getJSONArray("profile");
// Integer success = json.getInt(SUCCESS);
// String msg = json.getString("message");
for(int i=0; i<aJson.length(); i++) {
JSONObject json = aJson.getJSONObject(i);
//str
String strName = json.getString(TAG_NAME);
String strGender = json.getString(TAG_GENDER);
String strCity = json.getString(TAG_CITY);
String strPhNo = json.getString(TAG_PHNO);
String strOriginalName = json.getString(TAG_NAME);
String strreviewNumber = json.getString(TAG_REVIEWNUM);
fullname.setText(strName);
gender.setText(strGender);
city.setText(strCity);
mobileno.setText(strPhNo);
originalname.setText(strOriginalName);
reviewNumber.setText(strreviewNumber+"Reviews");//setting name to original name text-displayed while loading
Toast.makeText(MainActivity.this,strGender, Toast.LENGTH_SHORT).show();
//end
}
}catch (JSONException e) {
Toast.makeText(MainActivity.this,"Exception caught!", Toast.LENGTH_SHORT).show();
}
}
}
我希望它有所帮助!