마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

TextView에 입력 내용을 어플 재 실행시 초기화되지 않고 그대로 남아있게 하고싶습니다.

0 추천
package com.example.admin.dojunfinaltest;

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

import org.w3c.dom.Text;

// 맛집
public class SubActivity extends MainActivity{
    String temp = "";

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

        // 버튼 5번을 사용한 수정버튼 구현 --> 내용을 새로 입력 시 기존 내용(TextView) 가 초기화 됨.. (해결)
        Button bt5 = (Button) findViewById(R.id.button5);
        bt5.setOnClickListener(new Button.OnClickListener(){
            @Override
            public void onClick(View arg0) {
                EditText ed1 = (EditText) findViewById(R.id.editText1);
                temp = temp +ed1.getText().toString();
                TextView tv1 = (TextView) findViewById(R.id.textView1);
                tv1.setText(temp);
            }
        });
    }
    // 종료 (해결)
    public void onClick3(View v){
        finish();
    }
    // TextView 초기화 버튼 // 버튼 클릭 시 TextView tv1 속 내용을 초기화하도록 구현한다.. (해결)
    public void onClick7(View v){
        TextView tv1 = findViewById(R.id.textView1);
        tv1.setText("");
    }
}
현재 구현하고자 하는 목표는
앱 실행 -> EditText 내용 입력 -> TextView 내용 출력 까지는 구현이 완료되었습니다만
이 후 앱을 실행종료 혹은 종료버튼으로 다른 액티비티로 이동 후 앱 재실행 및 이전 액티비티 이동 시 TextView에 적어 놓은 내용이 전부 초기화되는 것의 해결 방법이 궁금합니다..
혹시 DB를 제작하여 설계해야하는 부분인가요?
박관쥐 (140 포인트) 님이 2018년 12월 13일 질문

1개의 답변

0 추천
액티비티 이동의 경우는 현재A 이동할곳B 라고 하면 A->B로 이동시 A를 finish()로 종료하면서 이동하는 경우가 아니라면 액티비티가 스택에 A가 남아있기 때문에 값이 없어지진 않습니다. 하지만 앱을 종료후 재실행의 경우는 액티비티 생명주기가 다하기 떄문에 별도로 저장해주셔야 합니다. 가장 간단한 방법은 Sharedpreference를 이용하시는게 좋을것 같습니다.
익명사용자 님이 2018년 12월 13일 답변
...