У меня возникли проблемы с восстановлением состояния одного из моих действий. Я начала деятельности B в пределах от активности А сAndroid - восстановление активности с onSaveInstanceState null
mListView.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView<?> parent, View view, final int position, long id) {
// Display dialog
AlertDialog.Builder builder = new AlertDialog.Builder(TransactionActivity.this);
builder.setTitle(null)
.setItems(R.array.tran_options_array, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
// The 'which' argument contains the index position
// of the selected item
switch (which) {
case 0:
//
// View
//
// Load transaction detail activity
Intent intent = new Intent(getApplicationContext(),
TransactionDetailActivity.class);
Bundle bundle = new Bundle();
Tran transaction = mTransactionList.get(position);
bundle.putSerializable("transaction_key", mTransactionList.get(position));
intent.putExtras(bundle);
startActivity(intent);
break;...
@Override
protected void onSaveInstanceState(Bundle outState) {
outState.putString("type", mType);
super.onSaveInstanceState(outState);
}
После startActivity (намерения) OnPause() вызывается, а затем onSaveInstanceState(). Нажав на кнопку «Назад» в действии B, вы получите команду onDestroy(), которая вызывается в Activity A, а затем onCreate() с (Bundle savedInstanceState) как null.
Что-то здесь не звучит. Вы уверены, что вы не вручную вызываете финиш в действии? Где-то? –
Да, в классе вообще нет финиша(). – Carl