@BYMaz

При нажатии кнопки назад приложение закрывается, а необходимо что бы переходило на главный экран. Что нужно прописать в код?

Я в первые разрабатываю Android приложение и столкнулся с такой проблемой. У меня на данный момент в приложении имеются два экрана это главная активность и второй экран для вывода информации после того как пользователь нажмет на кнопку на главном экране, переход после нажатия срабатывает как нужно но, после того как я хочу вернутся назад к главному экрану (нажимаю кнопку назад на устройстве) приложение закрывается. Что необходимо сделать чтобы это исправить.
MainActiviti:
import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Button UgnaiaVokzalMarhut2 = (Button)findViewById(R.id.rout2);

        UgnaiaVokzalMarhut2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                try {
                    Intent intent = new Intent(MainActivity.this, Ostanovki2.class);
                    startActivity(intent);
                    finish();
                } catch (Exception e) {
                } //Конец конструкции
            }
        });
    }
}

Java второго экрана:
import android.os.Bundle;

import androidx.appcompat.app.AppCompatActivity;

public class Ostanovki2 extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.ostanovki2);
    }
}

Manifests
<application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name=".Ostanovki2"
            android:label="@string/Ost2"
            android:screenOrientation="portrait">
            <intent-filter>
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>
    </application>

</manifest>
  • Вопрос задан
  • 919 просмотров
Решения вопроса 1
@davidnum95
UgnaiaVokzalMarhut2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                try {
                    Intent intent = new Intent(MainActivity.this, Ostanovki2.class);
                    startActivity(intent);
                    finish(); <--------------- Удоли
                } catch (Exception e) {
                } //Конец конструкции
            }
        });
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
libalex
@libalex
Backend / Android Developer (Java, Kotlin)
В манифесте у второй Activity указать родительскую
<activity android:name=".Ostanovki2"
    android:label="@string/Ost2"
    android:screenOrientation="portrait"
    android:parentActivityName=".MainActivity">
    <!-- Parent activity meta-data to support 4.0 and lower -->
    <meta-data
        android:name="android.support.PARENT_ACTIVITY"
        android:value=".MainActivity" />
    <intent-filter>
        <category android:name="android.intent.category.DEFAULT" />
    </intent-filter>
</activity>
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы