кнопка возврата без вызова finish() или onBackPressed()

Я хочу создать кнопку, чтобы вернуться к предыдущему действию, но если я использую методы "finish()" или "onBackPressed()" в событии "onclick", каждый раз, когда я нажимаю кнопку, у меня появляется сообщение от система "к сожалению, активность остановлена". Есть ли альтернативный способ ввести кнопку «Назад» без отображения подобных сообщений, которые можно было бы принять за ошибки сообщений от пользователя?

Вот мой xml для кнопки:

<Button
    android:layout_width="wrap_content"
    android:layout_weight=".2"
    android:layout_height="wrap_content"
    android:text="back"
    android:id="@+id/back"
    android:onClick="onBackPressed"
    />

Больше никакого кода не требуется, потому что onBackPressed уже существует в библиотеке.


person Helios83    schedule 25.09.2015    source источник
comment
плз, опубликуйте свой код и трассировку стека   -  person petey    schedule 25.09.2015


Ответы (1)


Если одно и то же действие всегда запускает ваше текущее, просто жестко запрограммируйте его...

Intent myIntent = new Intent(CurrentActivity.this, PreviousActivity.class);
CurrentActivity.this.startActivity(myIntent);

В противном случае вы можете передать дополнительные сведения в своих намерениях, чтобы сообщить вам об этом, а затем создать условный метод, чтобы запустить правильный. Также я бы написал весь код вашей кнопки в ваших java-файлах, но я думаю, что это скорее личное предпочтение.

//global declaration
Button GameButton;

//onCreate
GameButton = (Button)findViewById(R.id.GameButton);
GameButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            //your code
        }
    });
person scubasteve623    schedule 25.09.2015
comment
тогда вы найдете то, что вам не хватает или нет? - person Pavan; 25.09.2015