Итак, у меня проблема с завершением задания и возвращением к родительскому (правильный термин?) Действию.
Он попадает в этот поток. ActivityThread.performResumeActivity (IBinder, boolean) строка: 2241
и затем выдает мне строку InvocationTargetException. (Throwable): 50 со следующей ошибкой
java.lang.RuntimeException: Невозможно возобновить действие .companionpushup / database / Exercise Data уже закрыты
Так что, я думаю, я запутался, как у меня возникает ошибка, связанная с моей базой данных, когда она просто пытается завершить свою деятельность и вернуться к исходной активности (но никогда не вызывает метод onResume в исходной операции).
Код, который был вызван для начала нового действия
public void takeRest(int time, int addTime) {
Intent i = new Intent(this, TimerActivity.class);
i.putExtra("time", time);
i.putExtra("addTime", addTime);
startActivity(i);
}
Затем мой пользовательский таймер работает, пока я не нажму эту кнопку, чтобы пропустить оставшуюся часть таймера. На этом этапе он никогда не возвращается к исходному действию (я установил точки останова в onCreate, onStart, onResume, onActivityResult), ни одна из точек останова никогда не достигается без ошибки.
Button skip = (Button)findViewById(R.id.skip);
skip.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
timer.cancel();
setResult(RESULT_OK);
finish();
}
});
Другой код из оригинального Activity, но он никогда не достигается, когда я прохожу через отладчик
@Override
protected void onResume() {
super.onResume();
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent intent) {
super.onActivityResult(requestCode, resultCode, intent);
Toast.makeText(WorkoutActivity.this, "Yay", Toast.LENGTH_SHORT).show();
}