アプリケーションを再起動したときに編集テキストが表示されないのはなぜですか?

AdamIceland

ボタンを押した後、編集テキストを追加し、編集テキストに何かを入力した後に保存したいという簡単なアプリケーションを作成しようとしています。アプリケーションを再起動するときに、何かを含む編集テキストを表示したいと思います。アプリケーションを再起動すると、編集テキストのデータが保存されるのに、編集テキストが再び表示されなくなる理由がわかりません。これは私のコードです:

public class MainActivity extends AppCompatActivity {

private static final String PREFERENCES_NAME = "myPreferences";
private static final String PLIK_GLOWNEJ_KWOTY = "text_plik_glownej_kwoty";
private static final String PLIK_E1 = "text_pliku_e1";


private EditText WpiszKwote;
private TextView WpisanaKwota;
private Button Przycisk;
private Button Zapisz;
private EditText e1;
private EditText e2;
int x = 0 ;

private SharedPreferences preferences;





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

    preferences = getSharedPreferences(PREFERENCES_NAME, Activity.MODE_PRIVATE);

    //inicjalizacja pola

    WpiszKwote = (EditText) findViewById(R.id.WpiszKwote);
    WpisanaKwota = (TextView) findViewById(R.id.WpisanaKwota);
    Przycisk = (Button) findViewById(R.id.Przycisk);
    Zapisz = (Button) findViewById(R.id.Zapisz);
    e1 = (EditText) findViewById(R.id.editText1);
    e2 = (EditText) findViewById(R.id.editText2);
    if (TextUtils.isEmpty(e1.getText().toString())) {
        e1.setVisibility(View.GONE);
    }else {
        e1.setVisibility(View.VISIBLE);
    }
    if (TextUtils.isEmpty(e2.getText().toString())) {
        e2.setVisibility(View.GONE);
    }
    restoreData();

    //nasłuchiwanie pola edytowania textu

        WpiszKwote.addTextChangedListener(new TextWatcher() {
            @Override
            public void beforeTextChanged(CharSequence s, int start, int count, int after) {

            }

            @Override
            public void onTextChanged(CharSequence s, int start, int before, int count) {
                String wpisana = WpiszKwote.getText().toString();
                WpisanaKwota.setText(wpisana);
            }

            @Override
            public void afterTextChanged(Editable s) {

            }
        });
        // nasłuchiwanie przycisku


    Przycisk.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            x++;
            Runnable run = new Runnable() {
                @Override
                public void run() {
                    x = 0;
                }
            };

            if (x == 1) {
                e1.setVisibility(View.VISIBLE);
            } else if (x == 2) {
                e2.setVisibility(View.VISIBLE);
            }
        }
    });


        // nasłuchiwanie przycisku zapisywania


        Zapisz.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                saveData();
                showToast("Dane zostały zapisane");

            }
        });


}
private void saveData() {
    SharedPreferences.Editor preferencesEditor = preferences.edit();
    String editTextData = WpiszKwote.getText().toString();
    String editTextData1 = e1.getText().toString();
    preferencesEditor.putString(PLIK_GLOWNEJ_KWOTY, editTextData);
    preferencesEditor.putString(PLIK_E1, editTextData1);
    preferencesEditor.commit();
}
private void restoreData() {
    String text_pliku_glownej_kwoty = preferences.getString(PLIK_GLOWNEJ_KWOTY, "");
    WpisanaKwota.setText(text_pliku_glownej_kwoty);
    String text_pola_e1 = preferences.getString(PLIK_E1, "");
    e1.setText(text_pola_e1);

}
private void showToast(String msg) {
    Toast.makeText(this, msg, Toast.LENGTH_SHORT).show();
}

}

知っている

それは、最初にe1.textが空かどうかを確認してから、を確認するためだと思いますrestoreData()最初にデータを復元してから、データが空かどうかを確認する必要があります。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

.proとmain.cppでプラグインを呼び出しているときに、[テキストの編集]をクリックした後にqml仮想キーボードが表示されないのはなぜですか

分類Dev

アプリケーションを再起動した後、データがCoreDataに保存されないのはなぜですか?

分類Dev

アプリケーションを再起動しない限り、パスワードの変更が反映されないのはなぜですか?

分類Dev

単純なSwingアプリケーションがウィンドウが表示されたときに終了しないのはなぜですか?

分類Dev

マスターサーバーを再起動した後、MySQLレプリケーションが正しく再開されないのはなぜですか?

分類Dev

単純なSpringBootアプリケーションを実行しているときに、ステータスが「404」のホワイトラベルエラーページが常に表示されるのはなぜですか

分類Dev

単純なSpringBootアプリケーションを実行しているときに、ステータスが「404」のホワイトラベルエラーページが常に表示されるのはなぜですか

分類Dev

単純なSpringBootアプリケーションを実行しているときに、ステータスが「404」のホワイトラベルエラーページが常に表示されるのはなぜですか

分類Dev

動的(リアルタイム)更新が機能しないのはなぜですか?アプリケーションの再起動後にのみ変更が表示されるのはなぜですか?

分類Dev

アクションリスナーがクリックされたときに適切な画像を表示しないのはなぜですか?

分類Dev

アプリケーションの再起動後にBroadcastReceiverが機能しないのはなぜですか?

分類Dev

アプリケーションがXamarinを再起動したときにISharedPreferencesが保存されない

分類Dev

Wineを使用してインストールされたアプリケーションがNTFSパーティションにアクセスできないのはなぜですか?

分類Dev

Wineを使用してインストールされたアプリケーションがNTFSパーティションにアクセスできないのはなぜですか?

分類Dev

一部のアプリケーションを開いたときにランチャーに表示されないのはなぜですか?

分類Dev

Springブートアプリケーションの再起動時に、Quartzトリガーが変更されたCron式を更新しないのはなぜですか?

分類Dev

Springブートアプリケーションの再起動時に、Quartzトリガーが変更されたCron式を更新しないのはなぜですか?

分類Dev

このAngularアプリケーションが、ユーザーがログインした後に表示されるコンテンツを変更するユーザーステータス(ログイン/ログアウト)を処理できないのはなぜですか?

分類Dev

sudoを使用してインストールされたアプリケーションをsudoなしで実行できないのはなぜですか?

分類Dev

MobileFirstアプリケーションストアアプリにMobileFirstアプリのアイコンが表示されないのはなぜですか

分類Dev

キャッチされない例外が発生したときにNode.jsアプリケーションを再起動します

分類Dev

サーバーを再起動した後もアプリケーションの値が保持されるのはなぜですか?

分類Dev

コードを入力したときにドロップダウンにテキストが表示されないのはなぜですか

分類Dev

Spring:「ルート」アプリケーションコンテキストと「サーブレット」アプリケーションコンテキストが異なるパーティによって作成されるのはなぜですか?

分類Dev

アプリケーションがGAEにデプロイされているときに、データストアに_BlobInfo_という名前のエンティティの種類が作成されないのはなぜですか?

分類Dev

アプリケーションがGAEにデプロイされているときに、データストアに_BlobInfo_という名前のエンティティの種類が作成されないのはなぜですか?

分類Dev

プロキシしたときに、このセッターがインターセプトされた値を表示しないのはなぜですか?

分類Dev

フラスコCLIを使用してアプリを実行すると、「有効なFlaskアプリケーションが...から取得されませんでした」というエラーが表示されるのはなぜですか?

分類Dev

スタートキーを押したときにUnityにアプリケーションを表示させるにはどうすればよいですか?

Related 関連記事

  1. 1

    .proとmain.cppでプラグインを呼び出しているときに、[テキストの編集]をクリックした後にqml仮想キーボードが表示されないのはなぜですか

  2. 2

    アプリケーションを再起動した後、データがCoreDataに保存されないのはなぜですか?

  3. 3

    アプリケーションを再起動しない限り、パスワードの変更が反映されないのはなぜですか?

  4. 4

    単純なSwingアプリケーションがウィンドウが表示されたときに終了しないのはなぜですか?

  5. 5

    マスターサーバーを再起動した後、MySQLレプリケーションが正しく再開されないのはなぜですか?

  6. 6

    単純なSpringBootアプリケーションを実行しているときに、ステータスが「404」のホワイトラベルエラーページが常に表示されるのはなぜですか

  7. 7

    単純なSpringBootアプリケーションを実行しているときに、ステータスが「404」のホワイトラベルエラーページが常に表示されるのはなぜですか

  8. 8

    単純なSpringBootアプリケーションを実行しているときに、ステータスが「404」のホワイトラベルエラーページが常に表示されるのはなぜですか

  9. 9

    動的(リアルタイム)更新が機能しないのはなぜですか?アプリケーションの再起動後にのみ変更が表示されるのはなぜですか?

  10. 10

    アクションリスナーがクリックされたときに適切な画像を表示しないのはなぜですか?

  11. 11

    アプリケーションの再起動後にBroadcastReceiverが機能しないのはなぜですか?

  12. 12

    アプリケーションがXamarinを再起動したときにISharedPreferencesが保存されない

  13. 13

    Wineを使用してインストールされたアプリケーションがNTFSパーティションにアクセスできないのはなぜですか?

  14. 14

    Wineを使用してインストールされたアプリケーションがNTFSパーティションにアクセスできないのはなぜですか?

  15. 15

    一部のアプリケーションを開いたときにランチャーに表示されないのはなぜですか?

  16. 16

    Springブートアプリケーションの再起動時に、Quartzトリガーが変更されたCron式を更新しないのはなぜですか?

  17. 17

    Springブートアプリケーションの再起動時に、Quartzトリガーが変更されたCron式を更新しないのはなぜですか?

  18. 18

    このAngularアプリケーションが、ユーザーがログインした後に表示されるコンテンツを変更するユーザーステータス(ログイン/ログアウト)を処理できないのはなぜですか?

  19. 19

    sudoを使用してインストールされたアプリケーションをsudoなしで実行できないのはなぜですか?

  20. 20

    MobileFirstアプリケーションストアアプリにMobileFirstアプリのアイコンが表示されないのはなぜですか

  21. 21

    キャッチされない例外が発生したときにNode.jsアプリケーションを再起動します

  22. 22

    サーバーを再起動した後もアプリケーションの値が保持されるのはなぜですか?

  23. 23

    コードを入力したときにドロップダウンにテキストが表示されないのはなぜですか

  24. 24

    Spring:「ルート」アプリケーションコンテキストと「サーブレット」アプリケーションコンテキストが異なるパーティによって作成されるのはなぜですか?

  25. 25

    アプリケーションがGAEにデプロイされているときに、データストアに_BlobInfo_という名前のエンティティの種類が作成されないのはなぜですか?

  26. 26

    アプリケーションがGAEにデプロイされているときに、データストアに_BlobInfo_という名前のエンティティの種類が作成されないのはなぜですか?

  27. 27

    プロキシしたときに、このセッターがインターセプトされた値を表示しないのはなぜですか?

  28. 28

    フラスコCLIを使用してアプリを実行すると、「有効なFlaskアプリケーションが...から取得されませんでした」というエラーが表示されるのはなぜですか?

  29. 29

    スタートキーを押したときにUnityにアプリケーションを表示させるにはどうすればよいですか?

ホットタグ

アーカイブ