Note that there are some explanatory texts on larger screens.

plurals
  1. POTwo Intent Bundle Activities App crash
    primarykey
    data
    text
    <p>I have Activity A, Activity B .</p> <p>From A to B I'm sending data1 in putExtra during creation and if any update required again sending different bundle, activity is closed unfortunately.</p> <p>public class VehicleManagement extends Activity {</p> <pre><code>DBAdapter db; private static final int ACTIVITY_EDIT=1; private Button manVehbtnNewV,manVBtnSave,manVBtncancel,vehManReminder,ManVehBtnVehType; private EditText manVehVNoEt; private ArrayList&lt;String&gt; vehicleType = new ArrayList&lt;String&gt;(); String typeOfVehicle ,VehNo; private RemindersDbAdapter mDbHelper; private ListView vehReminderLV,listViewvehMan; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_manage_vehicles); ManVehBtnVehType=(Button)findViewById(R.id.ManVehBtnVehType); manVBtncancel=(Button)findViewById(R.id.manVBtncancel); manVehVNoEt=(EditText)findViewById(R.id.ManVehEtVehNum); manVBtncancel=(Button)findViewById(R.id.manVBtncancel); vehManReminder=(Button)findViewById(R.id. vehManReminder); vehReminderLV=(ListView)findViewById(R.id.vehReminderLV); manVehbtnNewV.setOnClickListener( new OnClickListener() { @Override public void onClick(View arg0) { Intent intentReminder= new Intent(getApplicationContext(),VehicleManagement.class); startActivity(intentReminder); } }); </code></pre> <p>//</p> <pre><code> vehManReminder.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { VehNo = manVehVNoEt.getText().toString(); Toast.makeText(getApplicationContext(), VehNo, Toast.LENGTH_SHORT).show(); Intent intentReminder = new Intent(getApplicationContext(), ReminderEditActivity.class); intentReminder.putExtra("ReminderVehNo", manVehVNoEt.getText().toString()); startActivity(intentReminder); } }); mDbHelper = new RemindersDbAdapter(this); mDbHelper.open(); vehReminderLV.setOnItemClickListener( new OnItemClickListener() { @Override public void onItemClick(AdapterView&lt;?&gt; parent, View selectedView, int position, long id) { Intent i = new Intent(getApplicationContext(), ReminderEditActivity.class); i.putExtra(RemindersDbAdapter.KEY_ROWID, id); startActivityForResult(i, ACTIVITY_EDIT); } }); registerForContextMenu(vehReminderLV); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent intent) { super.onActivityResult(requestCode, resultCode, intent); fillData(manVehVNoEt.getText().toString()); } </code></pre> <p>REceiving Activity:</p> <p>public class ReminderEditActivity extends Activity {</p> <pre><code>private static final int DATE_PICKER_DIALOG = 0; private static final int TIME_PICKER_DIALOG = 1; private static final String DATE_FORMAT = "yyyy-MM-dd"; private static final String TIME_FORMAT = "kk:mm"; public static final String DATE_TIME_FORMAT = "yyyy-MM-dd kk:mm:ss"; private EditText mTitleText; private EditText mBodyText; private Button mDateButton; private Button mTimeButton; private Button mConfirmButton; private Long mRowId; private RemindersDbAdapter mDbHelper; private Calendar mCalendar; private TextView mTitleVehNo; Spinner spinnerReminder; String VehNospinner,vehReminder; List&lt;String&gt; lable; DBAdapter db; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mDbHelper = new RemindersDbAdapter(this); setContentView(R.layout.reminder_edit); mCalendar = Calendar.getInstance(); mTitleText = (EditText) findViewById(R.id.title); mBodyText = (EditText) findViewById(R.id.body); mDateButton = (Button) findViewById(R.id.reminder_date); mTimeButton = (Button) findViewById(R.id.reminder_time); mConfirmButton = (Button) findViewById(R.id.confirm); String vehReminder= getIntent().getStringExtra("ReminderVehNo"); mTitleText.setText(vehReminder); mRowId = savedInstanceState != null ? savedInstanceState.getLong(RemindersDbAdapter.KEY_ROWID) : null; registerButtonListenersAndSetDefaultText(); } private void setRowIdFromIntent() { if (mRowId == null) { Bundle extras = getIntent().getExtras(); mRowId = extras != null ? extras.getLong(RemindersDbAdapter.KEY_ROWID) : null; } } @Override protected void onPause() { super.onPause(); mDbHelper.close(); } @Override protected void onResume() { super.onResume(); mDbHelper.open(); setRowIdFromIntent(); populateFields(); } @Override protected Dialog onCreateDialog(int id) { switch(id) { case DATE_PICKER_DIALOG: return showDatePicker(); case TIME_PICKER_DIALOG: return showTimePicker(); } return super.onCreateDialog(id); } private DatePickerDialog showDatePicker() { DatePickerDialog datePicker = new DatePickerDialog(ReminderEditActivity.this, new DatePickerDialog.OnDateSetListener() { @Override public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) { mCalendar.set(Calendar.YEAR, year); mCalendar.set(Calendar.MONTH, monthOfYear); mCalendar.set(Calendar.DAY_OF_MONTH, dayOfMonth); updateDateButtonText(); } }, mCalendar.get(Calendar.YEAR), mCalendar.get(Calendar.MONTH), mCalendar.get(Calendar.DAY_OF_MONTH)); return datePicker; } </code></pre> <p>private TimePickerDialog showTimePicker() {</p> <pre><code> TimePickerDialog timePicker = new TimePickerDialog(this, new TimePickerDialog.OnTimeSetListener() { @Override public void onTimeSet(TimePicker view, int hourOfDay, int minute) { mCalendar.set(Calendar.HOUR_OF_DAY, hourOfDay); mCalendar.set(Calendar.MINUTE, minute); updateTimeButtonText(); } }, mCalendar.get(Calendar.HOUR_OF_DAY), mCalendar.get(Calendar.MINUTE), true); return timePicker; } private void registerButtonListenersAndSetDefaultText() { mDateButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { showDialog(DATE_PICKER_DIALOG); } }); mTimeButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { showDialog(TIME_PICKER_DIALOG); } }); mConfirmButton.setOnClickListener(new View.OnClickListener() { public void onClick(View view) { saveState(); setResult(RESULT_OK); Toast.makeText(ReminderEditActivity.this, getString(R.string.task_saved_message), Toast.LENGTH_SHORT).show(); finish(); } }); updateDateButtonText(); updateTimeButtonText(); } private void populateFields() { if (mRowId != null) { Cursor reminder = mDbHelper.fetchReminder(mRowId); startManagingCursor(reminder); mTitleText.setText(reminder.getString( reminder.getColumnIndexOrThrow(RemindersDbAdapter.KEY_TITLE))); mBodyText.setText(reminder.getString( reminder.getColumnIndexOrThrow(RemindersDbAdapter.KEY_BODY))); SimpleDateFormat dateTimeFormat = new SimpleDateFormat(DATE_TIME_FORMAT); Date date = null; try { String dateString = reminder.getString(reminder.getColumnIndexOrThrow(RemindersDbAdapter.KEY_DATE_TIME)); date = dateTimeFormat.parse(dateString); mCalendar.setTime(date); } catch (ParseException e) { Log.e("ReminderEditActivity", e.getMessage(), e); } } else { // This is a new task - add defaults from preferences if set. SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this); String defaultTitleKey = getString(R.string.pref_task_title_key); String defaultTimeKey = getString(R.string.pref_default_time_from_now_key); String defaultTitle = prefs.getString(defaultTitleKey, null); String defaultTime = prefs.getString(defaultTimeKey, null); if(defaultTitle != null) mTitleText.setText(defaultTitle); if(defaultTime != null) mCalendar.add(Calendar.MINUTE, Integer.parseInt(defaultTime)); } updateDateButtonText(); updateTimeButtonText(); } private void updateTimeButtonText() { // Set the time button text based upon the value from the database SimpleDateFormat timeFormat = new SimpleDateFormat(TIME_FORMAT); String timeForButton = timeFormat.format(mCalendar.getTime()); mTimeButton.setText(timeForButton); } private void updateDateButtonText() { // Set the date button text based upon the value from the database SimpleDateFormat dateFormat = new SimpleDateFormat(DATE_FORMAT); String dateForButton = dateFormat.format(mCalendar.getTime()); mDateButton.setText(dateForButton); } @Override protected void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); outState.putLong(RemindersDbAdapter.KEY_ROWID, mRowId); } private void saveState() { String title = mTitleText.getText().toString(); String body = mBodyText.getText().toString(); SimpleDateFormat dateTimeFormat = new SimpleDateFormat(DATE_TIME_FORMAT); String reminderDateTime = dateTimeFormat.format(mCalendar.getTime()); if (mRowId == null) { long id = mDbHelper.createReminder(title, body, reminderDateTime); if (id &gt; 0) { mRowId = id; } } else { mDbHelper.updateReminder(mRowId, title, body, reminderDateTime); } new ReminderManager(this).setReminder(mRowId, mCalendar); } </code></pre> <p>}</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload