Как я могу получить выбранное значение переключателей для моего второго действия, назначив значение ответа JSON с помощью глобальной переменной в основном действии?
Как я могу получить значение выбранного переключателя для моего второго действия, назначив значение ответа JSON с помощью глобальной переменной в основном действии? Я прикрепил API с помощью метода post с условиями:
Ссылка : http://garage.kaptastech.mobi/api/5k/master/vehicle---> это моя ссылка на API
Метод: пост
тип: целое число 1 или 2 - > 1 = бензин, 2 = дизельное топливо
вариант: целое число 1 или 2 - > 1 = полностью загруженная, 2 = Базовая модель
Я уже присвоил значения 1 и 2 для моих переключателей бензин и дизель, а также полностью загруженную и базовую модель, используя глобальную переменную variantId и typeId, и я также передал ее в качестве параметра для добавления.
Теперь моя проблема заключается в том, что мне нужно вернуть результат в виде бензина или дизельного топлива, или полностью загруженного, или базовой модели(это зависит от выбора) Мне нужно вернуть свои результаты в виде текста, а не значений:
Чтобы четко говорить, мне становится как-то: Тип: 1 Вариант : 1
Но мне нужен результат как:
Тип: дизельный вариант: полностью загруженный.
Проблема в том,что я не знаю, как вернуть значение обратно, Вот и все.
Что я уже пробовал:
Моя основная активность(добавление транспортного средства)
public class MainActivity расширяет AppCompatActivity {
частная строковый тег = в MainActivity.класс.getSimpleName();
ArrayList и Л;строка> У brandListArray = новый ArrayList и Л;строка&ГТ;();
ArrayList и Л;строка> У modelListArray = новый ArrayList и Л;строка&ГТ;();
Кнопка addVehicleBtn;
EditText AddVehicle_Regno, kmscovered;
Радиобуттон бензиновый, дизельный, полностью заряженный, базовая модель;
TextView textView8, textViewkms;
Spinner AddspinnerMake, AddspinnerModel, AddspinnerYear;
частная статическая строка url = "http://garage.kaptastech.mobi/api/5k/master/vehicle";
частные строковые значения[] ;
ArrayList< string> brandListId;
ArrayList< string & gt; modelListId;
String brandId;
String modelId;
Строку ИД типа;
String variantId;
ArrayList и Л;частности, в<строка, строка&ГТ;&ГТ; addVehiclelist;
Строка jsonStr;
Строки Регно fuelType, Марка, год, Модель, вариант;
@Ручная коррекция
protected void onCreate(Bundle savedInstanceState) {
super. onCreate(savedInstanceState);
setContentView(R. layout.activity_main);
brandListArray = новый ArrayList & lt;string>();
brandListId = новый ArrayList & lt;string>();
modelListArray = новый ArrayList & lt;string>();
modelListId = новый ArrayList & lt;string>();
addVehiclelist = новый ArrayList и Л;частности, в<строка, строка&ГТ;&ГТ;();
petrol = (RadioButton) findViewById(R. id. petrol);
Diesel = (RadioButton) findViewById(R. id. diesel);
полностью заряжен = (переключатели) команду findViewById(Р. ИД.полностью заряжен);
Basicmodel = (RadioButton) findViewById(R. id. basicmodel);
addVehicleBtn = (кнопка) findViewById(R. id. addVehicleBtn);
AddVehicle_Regno = (EditText) findViewById (R. id. AddVehicle_Regno);
kmscovered = (полей EditText) findViewById, чтобы найти(ИД Р..kmsCovered);
textView8 = (виджет TextView) findViewById, чтобы найти(Р. ИД.textView8);
textViewkms = (виджет TextView) findViewById, чтобы найти(ИД Р..textViewkms);
AddspinnerMake = (Spinner) findViewById(R. id. AddspinnerMake);
AddspinnerModel = (Spinner) findViewById(R. id. AddspinnerModel);
AddspinnerYear = (Spinner) findViewById(R. id. AddspinnerYear);
new Getbrands (). execute();
бензин. setOnCheckedChangeListener (new CompoundButton.OnCheckedChangeListener() {
@Ручная коррекция
public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
если (бензин.этот флажок установлен()) {
fuelType = petrol.getText (). toString();
typeId= " 1";
}
}
});
Diesel. setOnCheckedChangeListener (new CompoundButton.OnCheckedChangeListener() {
@Ручная коррекция
public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
если (дизель.этот флажок установлен()) {
fuelType = Diesel.getText (). toString();
typeId = " 2";
}
}
});
AddspinnerMake. setOnItemSelectedListener(новый AdapterView.OnItemSelectedListener() {
@Ручная коррекция
public void onItemSelected(AdapterView<?> adapterView, View view, int position, long l) {
Brand = AddspinnerMake. getSelectedItem (). toString();
если (позиция > 0) {
brandId = brandListId. get (позиция).toString();
// * * Get Model execute api//
new Getmodels (). execute();
}
}
@Ручная коррекция
public void onNothingSelected(AdapterView<?> adapterView) {
}
});
AddspinnerYear. setOnItemSelectedListener(новый AdapterView.OnItemSelectedListener() {
@Ручная коррекция
public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
Year = AddspinnerYear. getSelectedItem (). toString();
}
@Ручная коррекция
public void onNothingSelected(AdapterView<?> adapterView) {
}
});
AddspinnerModel. setOnItemSelectedListener(новый AdapterView.OnItemSelectedListener() {
@Ручная коррекция
public void onItemSelected(AdapterView<?> adapterView, View view, int position, long l) {
Model = AddspinnerModel. getSelectedItem (). toString();
если (позиция > 0) {
модэлид = modelListId.вам(должность).toString();
}
}
@Ручная коррекция
public void onNothingSelected(AdapterView<?> adapterView) {
}
});
Basicmodel. setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Ручная коррекция
public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
если (Basicmodel.этот флажок установлен()) {
variant = Basicmodel. getText (). toString();
variantId = " 2";
}
}
});
fullloaded. setOnCheckedChangeListener (new CompoundButton.OnCheckedChangeListener() {
@Ручная коррекция
public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
если (полностью заряжен.этот флажок установлен()) {
вариант = полностью заряжен.то gettext().метод toString();
variantId = " 1";
}
}
});
addVehicleBtn. setOnClickListener(новый вид.OnClickListener() {
@Ручная коррекция
public void onClick (View view) {
Regno = AddVehicle_Regno. getText (). toString();
new GetVehicle (). execute();
Намерение намерение = новое намерение(в MainActivity.это, AddVehicle.class);
startActivity (намерение);
}
});
частная GetVehicle класс расширяет AsyncTask&ЛТ;пустота, пустота, пустота&ГТ; {
@Ручная коррекция
охраняемых недействительными onPreExecute() {
супер.onPreExecute();
}
@Ручная коррекция
защищенный Void doInBackground(Void... arg0) {
HttpClient client = новый DefaultHttpClient();
Протоколы HttpPost протоколы HttpPost = новые протоколы HttpPost("http://garage.kaptastech.mobi/api/5k/master/vehicle");
Список<namevaluepair&ГТ; nameValuePair = новый ArrayList и Л;namevaluepair&ГТ;(7);
nameValuePair. add(new BasicNameValuePair ("user_id", " 5"));
nameValuePair. add(new BasicNameValuePair ("registration_no", Regno));
nameValuePair. add(new BasicNameValuePair ("brand", brandId));
nameValuePair. add(new BasicNameValuePair ("model", modelId));
nameValuePair. add(new BasicNameValuePair("type", typeId));
nameValuePair. add(new BasicNameValuePair ("variant", variantId));
nameValuePair.добавить(новый BasicNameValuePair("год", год));
пробовать {
httpPost. setEntity (новый UrlEncodedFormEntity(nameValuePair));
} catch (UnsupportedEncodingException e) {
// запись ошибки в журнал
е.печатные();
}
// Создание HTTP-запроса
пробовать {
HttpResponse response = client. execute(httpPost);
// запись ответа в журнал
Log. d ("Ответ от url:", response.toString());
jsonStr = EntityUtils.toString(response. getEntity());
} catch (IOException e) {
е.печатные();
}
пробовать {
/*HttpConnection ht = новый HttpConnection();
ХТ.getVehicle();*/
Jsonobject object = новый JSONObject(jsonStr);
Автомобиль JSONArray = объект.getJSONArray("данные");
для (int i = 0; i < Vehicle.length (); i++) {
JSONObject c = Vehicle. getJSONObject(i);
String Regno = c. getString ("registration_no");
String brand = c. getString ("бренд");
String model = c. getString ("модель");
String fueltype = c. getString ("тип");
String variant = c. getString ("variant");
Хранилище HashMap и Л;строка, строка&ГТ; вл = новый HashMap и Л;строка, строка&ГТ;();
Вл. put ("registration_no", Regno);
Вл.пут("наименование", наименование);
Вл. put ("модель", model);
Vl. put("type", fueltype);
Вл.пут("вариант", вариант);
addVehiclelist.добавить(вл);
значения = новая строка[]{
"Регистрационный Номер:" + Regno,
"Бренд:" + бренд,
"Модель:" + модель,
"Тип:" + тип топлива,
"Вариант:" + вариант,
};
}
} catch (JSONException e) {
е.печатные();
}
возвращать null;
}
@Ручная коррекция
protected void onPostExecute(Void aVoid) {
супер.onPostExecute реализовывались(не);
}
}
частная Getbrands класс расширяет AsyncTask&ЛТ;пустота, пустота, пустота&ГТ; {
@Ручная коррекция
охраняемых недействительными onPreExecute() {
супер.onPreExecute();
}
@Ручная коррекция
защищенный Void doInBackground(Void... arg0) {
HttpClient client = новый DefaultHttpClient();
HttpGet httpGet = новый HttpGet("http://garage.kaptastech.mobi/api/5k/master/brand");
пробовать {
HttpResponse response = client. execute(httpGet);
// запись ответа в журнал
Log. d ("Ответ от url:", response.toString());
jsonStr = EntityUtils.toString(response. getEntity());
} catch (IOException e) {
е.печатные();
}
пробовать {
HttpConnection ht = новый HttpConnection();
ХТ.getbrand();
Jsonobject object = новый JSONObject(jsonStr);
BrandArray JSONArray = объект.getJSONArray("данные");
brandListArray.понятно();
brandListId.понятно();
brandListArray. add ("выберите бренд");
brandListId. add("0");
for (int i = 0; i < brandArray. length (); i++) {
JSONObject gb = brandArray. getJSONObject(i);
brandListArray. add(gb. getString ("name"));
brandListId.добавить(ГБ.и getString("идентификатор"));
String[] brandStringArray = новая строка[brandListArray. size()];
brandStringArray = brandListArray.toArray(brandStringArray);
for (int i1 = 0; i1 < brandStringArray. length; i1++) {
Войти.д("строка", (строку) brandStringArray[и1]);
}
}
} catch (JSONException e) {
е.печатные();
}
возвращать null;
}
protected void onPostExecute(результат Void) {
super. onPostExecute (результат);
Адаптер массива в<строка&ГТ; переходник = новый адаптер массива в<строка&ГТ;(в MainActivity.это, Android.Р.макет.simple_spinner_item, brandListArray);
adapter.setDropDownViewResource(android. R. layout.simple_spinner_dropdown_item);
AddspinnerMake. setAdapter(адаптер);
}
}
частный класс Getmodels расширяет AsyncTask< Void, Void, Void> {
@Ручная коррекция
охраняемых недействительными onPreExecute() {
супер.onPreExecute();
}
@Ручная коррекция
защищенный Void doInBackground(Void... arg0) {
HttpClient client = новый DefaultHttpClient();
HttpGet httpGet = новый HttpGet("http://garage.kaptastech.mobi/api/5k/master/models/" + brandId);
пробовать {
HttpResponse response = client. execute(httpGet);
// запись ответа в журнал
Log. d ("Ответ от url:", response.toString());
jsonStr = EntityUtils.toString(response. getEntity());
} catch (IOException e) {
е.печатные();
}
пробовать {
HttpConnection ht = новый HttpConnection();
ХТ.getmodel();
Jsonobject object = новый JSONObject(jsonStr);
ModelArray JSONArray = объект.getJSONArray("данные");
modelListArray.понятно();
modelListId.понятно();
modelListArray. add ("выберите модель");
modelListId. add("0");
for (int i = 0; i < modelArray. length (); i++) {
JSONObject gm = modelArray. getJSONObject(i);
modelListArray. add(gm. getString ("name"));
modelListId.добавить(ГМ.и getString("идентификатор"));
String[] modelStringArray = новая строка[modelListArray. size()];
modelStringArray = modelListArray.toArray(modelStringArray);
for (int i2 = 0; i2 < modelStringArray. length; i2++) {
Войти.д("строка", (строку) modelStringArray[И2]);
}
}
} catch (JSONException e) {
е.печатные();
}
возвращать null;
}
protected void onPostExecute(результат Void) {
super. onPostExecute (результат);
Адаптер массива в<строка&ГТ; переходник = новый адаптер массива в<строка&ГТ;(в MainActivity.это, Android.Р.макет.simple_spinner_dropdown_item, modelListArray);
AddspinnerModel. setAdapter(адаптер);
}
}
}
Addvehicle.java
публичный класс AddVehicle расширяет AppCompatActivity {
ListView с addVehicleListView;
ArrayList и Л;частности, в<строка, строка&ГТ;&ГТ; VehicleList;
частные строковые значения[] ;
частная статическая строка urlString = "http://garage.kaptastech.mobi/api/5k/users/vehicle";
частная строковый тег = AddVehicle.класс.getSimpleName();
ArrayList & lt;vehicles> al_vehicles;
MVehiclesAdapter VehiclesAdapter ;
@Ручная коррекция
protected void onCreate(Bundle savedInstanceState) {
super. onCreate(savedInstanceState);
setContentView(R. layout.activity_list);
al_vehicles=новый ArrayList< & gt;();
VehicleList = новый ArrayList и Л;частности, в<строка, строка&ГТ;&ГТ;();
addVehicleListView = (элемент управления ListView) findViewById, чтобы найти(ИД Р..addVehicleListView);
new GetVehicle (). execute();
}
частная GetVehicle класс расширяет AsyncTask&ЛТ;пустота, пустота, пустота&ГТ; {
@Ручная коррекция
protected Void doInBackground(пустота... пустоты) {
HttpConnection ht = новый HttpConnection();
Ответ строку = ХТ.getVehicle();
{
пробовать {
HttpClient client = новый DefaultHttpClient();
HttpGet get = new HttpGet("http://garage.kaptastech.mobi/api/5k/users/vehicle");
al_vehicles.понятно();
Jsonobject Object = новый JSONObject(ответ);
Автомобиль JSONArray = Объект.getJSONArray("данные");
для (int i = 0; i < Vehicle.length (); i++) {
JSONObject c = Vehicle. getJSONObject(i);
Средствами mVehicle=новые транспортные средства();
mVehicle.setReg_no(c. getString ("registration_no"));
mVehicle.setType(c. getString ("type"));
mVehicle.setVariant(ок. и getString("вариант"));
JSONObject brand=c. getJSONObject ("бренд");
mVehicle.setBrand_name(brand. getString ("name"));
mVehicle.setBrand_code(brand. getString ("код"));
mVehicle.setBrand_id(brand. getString ("id"));
Jsonobject model=c. getJSONObject("vehicle_model");
mVehicle.setModel_name(model. getString ("name"));
mVehicle.setModel_code(model. getString ("code"));
mVehicle.setModel_id(model. getString ("id"));
al_vehicles. add(mVehicle);
}
} поймать (исключение e окончательной) {
е.печатные();
}
}
возвращать null;
}
@Ручная коррекция
охраняемых недействительными onPreExecute() {
супер.onPreExecute();
}
protected void onPostExecute(результат Void) {
super. onPostExecute (результат);
mVehiclesAdapter=new VehiclesAdapter(AddVehicle. this, al_vehicles);
addVehicleListView. setAdapter(mVehiclesAdapter);
}
}
}