Проблема с передачей данных из активности в активность
Добавлено: 14 фев 2015, 16:52
Добрый день всем. Проблема с передачей переменных из одной активности в другую. Переменные формируются после нажатия на дату в календаре. Вот код первой активности:
Вот код активности приема и дальнейшей передачи в php-скрипт:
rest_id передается через 2 активности нормально, а вот переменные, полученные с календаря - теряются. day = 0, month и year вообще пустые. в чем может быть проблема?
Код: Выделить всё
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.choose_date);
Intent i = getIntent();
rest_id = i.getStringExtra(TAG_RESTID);
CalendarView calendar = (CalendarView) findViewById(R.id.calendarView1);
calendar.setOnDateChangeListener(new CalendarView.OnDateChangeListener() {
@Override
public void onSelectedDayChange(CalendarView view, int year,
int month, int dayOfMonth) {
int mYear = year;
int mMonth = month + 1;
int mDay = dayOfMonth;
order_day = String.valueOf(mDay);
order_month = String.valueOf(mMonth);
order_year = String.valueOf(mYear);
// Запускаем новый intent который покажет нам Activity
Intent in = new Intent(getApplicationContext(), NewOrder.class);
// отправляем pid в следующий activity
in.putExtra(TAG_RESTID , rest_id);
in.putExtra(TAG_DAY , order_day);
in.putExtra(TAG_MONTH , order_month);
in.putExtra(TAG_YEAR , order_year);
// запуская новый Activity ожидаем ответ обратно
startActivityForResult(in, 100);
}
});
}
}
Код: Выделить всё
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.new_order);
Intent i = getIntent();
rest_id = i.getStringExtra(TAG_RESTID);
day = i.getStringExtra(TAG_DAY);
month = i.getStringExtra(TAG_MONTH);
year = i.getStringExtra(TAG_YEAR);
Button btnCreateProduct = (Button) findViewById(R.id.btnCreateProduct);
btnCreateProduct.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
new CreateNewProduct().execute();
}
});
}
class CreateNewProduct extends AsyncTask<String, String, String> {
@Override
protected void onPreExecute() {
super.onPreExecute();
pDialog = new ProgressDialog(NewOrder.this);
pDialog.setMessage("Создание продукта...");
pDialog.setIndeterminate(false);
pDialog.setCancelable(true);
pDialog.show();
}
protected String doInBackground(String[] args) {
// Заполняем параметры
List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("rest_id", rest_id));
params.add(new BasicNameValuePair("day", day));
params.add(new BasicNameValuePair("month", month));
params.add(new BasicNameValuePair("year", year));
// получаем JSON объект
JSONObject json = jsonParser.makeHttpRequest(url_create_product, "POST", params);
Log.d("Create Response", json.toString());
try {
int success = json.getInt(TAG_SUCCESS);
if (success == 1) {
// продукт удачно создан
Intent i = new Intent(getApplicationContext(), MainScreen.class);
startActivity(i);
// закрываем это окно
finish();
}
} catch (JSONException e) {
e.printStackTrace();
}
return null;
}
protected void onPostExecute(String file_url) {
pDialog.dismiss();
}
}
}rest_id передается через 2 активности нормально, а вот переменные, полученные с календаря - теряются. day = 0, month и year вообще пустые. в чем может быть проблема?