1

Тема: Поворот екрана

Зробив міні програму на телефон де при натиску на кнопку буде додаватись +1, проблема виникла в тому що при зміні з горизонтального на вертикальний вигляд (при повороті телефона) число збивається до нуля, яким чином можна виправити це? і як зафіксувати вікно в горизонтальному положенні?

ackage test.example.t1;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {

    TextView tex1;
    Button but1;
    int results = 0;
    int one = 1;

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

        hideNavigationBar();

        tex1 = (TextView) findViewById(R.id.tex1);
        but1 = (Button) findViewById(R.id.but1);

        but1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                results = results+one;
                tex1.setText(Integer.toString(results));
            }
        });
    }

    @Override
    protected void onResume() {
        super.onResume();
        hideNavigationBar();
    }


    private void hideNavigationBar() {
        this.getWindow().getDecorView().setSystemUiVisibility(
        View.SYSTEM_UI_FLAG_FULLSCREEN |
                View.SYSTEM_UI_FLAG_HIDE_NAVIGATION |
                View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY |
                View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN |
                View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION |
                View.SYSTEM_UI_FLAG_LAYOUT_STABLE
        );
    }
}

2 Востаннє редагувалося PRY (21.05.2020 14:16:11)

Re: Поворот екрана

Радив би використовувати для цієї цілі Android Architecture components, зокрема (MVVM).
На форумі таке питання обговорювалось. Можете для початку глянути тут: https://replace.org.ua/topic/9423/.
Деякі посилання на сьогодні застарілі, але не проблема за ними вийти на свіжі посилання.
Посилання на приклад на GitHub актуальне.
Хай щастить.

Подякували: Overhand, leofun012

3

Re: Поворот екрана

зявилаось нове запитання, яким чином можливо зберегти дані? Я наклацав до числа 88 як це число можливо зберегти, в тхт файл наприклад, з подальшою можливістю використовувати цей файл в таблиці для відображення, тобто ми нажимаємо кнопку "зберегти" створюється рядок з відображенням нашого числа, нажимаємо ще раз, створюється знов новий рядок з нашим числом під старим, наприклад 5 рядків таких відображається а всі остальні йдуть в прокрутку, можливо це все є в інтернеті але я не знаю як це можливо знайти, так що link на такі теми будет супер, ну або можливо хтось кине кусок кода щоб я зрозумів принцип роботи, а дальше я сам розберусь по ходу діла

4

Re: Поворот екрана

тобі потрібен ViewModel, бо при перевертанні екрану Fragment чи Activity помирає, ViewModel живе довше ніж Activity чи Fragment і переживає configuration changes

щоб зафіксувати є прапорець у маніфесті

Подякували: leofun011

5

Re: Поворот екрана

Overhand написав:

зявилаось нове запитання, яким чином можливо зберегти дані? Я наклацав до числа 88 як це число можливо зберегти, в тхт файл наприклад, з подальшою можливістю використовувати цей файл в таблиці для відображення, тобто ми нажимаємо кнопку "зберегти" створюється рядок з відображенням нашого числа, нажимаємо ще раз, створюється знов новий рядок з нашим числом під старим, наприклад 5 рядків таких відображається а всі остальні йдуть в прокрутку, можливо це все є в інтернеті але я не знаю як це можливо знайти, так що link на такі теми будет супер, ну або можливо хтось кине кусок кода щоб я зрозумів принцип роботи, а дальше я сам розберусь по ходу діла

одну тему на одне питання, будь ласка

6

Re: Поворот екрана

PRY написав:

Радив би використовувати для цієї цілі Android Architecture components, зокрема (MVVM).
На форумі таке питання обговорювалось. Можете для початку глянути тут: https://replace.org.ua/topic/9423/.
Деякі посилання на сьогодні застарілі, але не проблема за ними вийти на свіжі посилання.
Посилання на приклад на GitHub актуальне.
Хай щастить.

сумніваюсь, що чувак шарить в MVP, не те що MVVM