powered by simpleCommunicator - 2.0.40     © 2025 Programmizd 02
Форумы / Разработка под мобильные платформы [игнор отключен] [закрыт для гостей] / Кнопка назад на предыдущий фрагмент
2 сообщений из 2, страница 1 из 1
Кнопка назад на предыдущий фрагмент
    #39516060
mishanches
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет! Сможет ли кто-нибудь подсказать?
Есть приложение: на главной активности фрагмент (BiografyClass с fragment_bigrafy.xml ), в этом фрагменте 2 кнопки, при нажатии на которые открываются еще фрагменты. В примере при нажатии на button открывается SettingsFragment, а при нажатии на button2 открывается AboutFragment. При переходе на следующие фрагменты(SettingsFragment или AboutFragment) и при нажатии кнопки "Back" во втором фрагменте приложение закрывается , а хотелось бы, чтобы возвращалась на предыдущий фрагмент - BiografyClass.
Как из второго фрагмента вернуться на первый? Метод addToBackStack(""); прописан.

Никак не могу разобраться, как вернуться на предыдущий фрагмент с помощью кнопки "Назад" на устройстве.

Код главной активности:


Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
public class MainActivity extends AppCompatActivity {

    private TextView mTextMessage;

    private BottomNavigationView.OnNavigationItemSelectedListener mOnNavigationItemSelectedListener
            = new BottomNavigationView.OnNavigationItemSelectedListener() {

        @Override
        public boolean onNavigationItemSelected(@NonNull MenuItem item) {
            Fragment fragment = null;
            Class fragmentClass = null;

            int id = item.getItemId();

            if (id == R.id.biografy) {
                fragmentClass = BiografyClass.class;
            } else if (id == R.id.photo) {
                fragmentClass = PhotoFragment.class;

            } else if (id == R.id.settings) {
                fragmentClass = SettingsFragment.class;

            }
            else if (id == R.id.about) {
                fragmentClass = AboutFragment.class;

            }

            try {
                fragment = (Fragment) fragmentClass.newInstance();
            } catch (Exception e) {
                e.printStackTrace();
            }

            FragmentManager fragmentManager = getSupportFragmentManager();
            fragmentManager.beginTransaction().replace(R.id.fragment, fragment).commit();

            setTitle(item.getTitle());

            return true;
        }

    };


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

        mTextMessage = (TextView) findViewById(R.id.message);
        BottomNavigationView navigation = (BottomNavigationView) findViewById(R.id.navigation);
        navigation.setOnNavigationItemSelectedListener(mOnNavigationItemSelectedListener);
    }

}




Activity_main.xml(тут фрагмент):


Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/container"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context="com.example.butam.biografy4.MainActivity">



    <LinearLayout
        android:id="@+id/content"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1">

        <fragment
        android:id="@+id/fragment"
        android:name="com.example.butam.biografy4.BiografyClass"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_gravity="center_horizontal"
        />



    </LinearLayout>

    <android.support.design.widget.BottomNavigationView
        android:id="@+id/navigation"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom"
        android:background="?android:attr/windowBackground"
        app:menu="@menu/navigation" />


</LinearLayout>



BiografyClass.java:

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
public class BiografyClass extends Fragment {

    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container,
                             @Nullable Bundle savedInstanceState) {

        View rootView =
                inflater.inflate(R.layout.fragment_biografy, container, false);
        return rootView;

    }

}



fragment_bigrafy.xml выглядит так (тут также фрагмент):

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/container"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context="com.example.butam.biografy4.MainActivity">



    <LinearLayout


        android:id="@+id/content"
        android:layout_width="match_parent"
        android:orientation="vertical"
        android:layout_height="0dp"
        android:layout_weight="1">




            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:orientation="vertical" />



        <fragment
            android:id="@+id/fragment1"
            android:name="com.example.butam.biografy4.BiografyEmblemClass"
            android:layout_width="396dp"
            android:layout_height="match_parent"
            android:layout_weight="1" />



    </LinearLayout>




</LinearLayout>



BiografyEmblemClass.java:

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
public class BiografyEmblemClass extends Fragment implements View.OnClickListener {


    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container,
                             @Nullable Bundle savedInstanceState) {

        View rootView =
                inflater.inflate(R.layout.biografy_emblem_fragment, container, false);

        Button button = (Button) rootView.findViewById(R.id.button);
        Button button2 = (Button) rootView.findViewById(R.id.button2);

        button.setOnClickListener(this);
        button2.setOnClickListener(this);
        return rootView;

    }


    @Override
    public void onClick(View v) { 

        switch (v.getId()) {
            case R.id.button:
                Fragment settingsFragment = new SettingsFragment();
                FragmentTransaction trans=getFragmentManager().beginTransaction();
                trans.replace(R.id.content, settingsFragment);
                trans.addToBackStack("");
                trans.commit();
                break;


            case R.id.button2:
                Fragment aboutFragment = new AboutFragment();
                FragmentTransaction trans2 = getFragmentManager().beginTransaction();
                trans2.replace(R.id.content, aboutFragment);
                trans2.addToBackStack("");
                trans2.commit();
                break;

        }


           }


    }



И biography_emblem_fragment.xml:

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/scroll"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <LinearLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="match_parent">


        <android.support.constraint.ConstraintLayout
            android:layout_width="match_parent"
            android:layout_height="500dp">


            <TextView
                android:id="@+id/textView"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginBottom="8dp"
                android:layout_marginLeft="8dp"
                android:layout_marginRight="8dp"
                android:layout_marginTop="8dp"
                android:text="@string/main_text"
                app:layout_constraintBottom_toBottomOf="parent"
                app:layout_constraintLeft_toLeftOf="parent"
                app:layout_constraintRight_toRightOf="parent"
                app:layout_constraintTop_toTopOf="parent"
                app:layout_constraintVertical_bias="0.055" />

            <TextView
                android:id="@+id/textView2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginBottom="8dp"
                android:layout_marginLeft="8dp"
                android:layout_marginRight="8dp"
                android:layout_marginTop="8dp"
                android:text="@string/biografy_emblem"
                app:layout_constraintBottom_toBottomOf="parent"
                app:layout_constraintLeft_toLeftOf="parent"
                app:layout_constraintRight_toRightOf="parent"
                app:layout_constraintTop_toTopOf="parent"
                app:layout_constraintVertical_bias="0.203" />

            
            <Button
                android:id="@+id/button"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Button"
                android:onClick="onClick"
                app:layout_constraintBottom_toBottomOf="parent"
                android:layout_marginBottom="8dp"
                app:layout_constraintTop_toTopOf="parent"
                android:layout_marginTop="8dp"
                android:layout_marginRight="8dp"
                app:layout_constraintRight_toRightOf="parent"
                android:layout_marginLeft="8dp"
                app:layout_constraintLeft_toLeftOf="parent"
                app:layout_constraintHorizontal_bias="0.257"
                app:layout_constraintVertical_bias="0.672" />
            <Button
                android:id="@+id/button2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Button2"
                android:onClick="onClick"
                app:layout_constraintBottom_toBottomOf="parent"
                android:layout_marginBottom="8dp"
                app:layout_constraintTop_toTopOf="parent"
                android:layout_marginTop="8dp"
                android:layout_marginRight="8dp"
                app:layout_constraintRight_toRightOf="parent"
                android:layout_marginLeft="8dp"
                app:layout_constraintLeft_toLeftOf="parent"
                app:layout_constraintHorizontal_bias="0.832"
                app:layout_constraintVertical_bias="0.655" />


        </android.support.constraint.ConstraintLayout>
    </LinearLayout>
</ScrollView>
...
Рейтинг: 0 / 0
Кнопка назад на предыдущий фрагмент
    #39516209
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / Разработка под мобильные платформы [игнор отключен] [закрыт для гостей] / Кнопка назад на предыдущий фрагмент
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]