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

액티비티 일시정지 관련 질문입니다.

0 추천
public void onClick(View v)
{
    EditText name = (EditText) findViewById(R.id.tname);
    EditText num = (EditText) findViewById(R.id.tnum);
    String temp1;


    Intent intent = new Intent(QDialList.this, GetQdPatt.class);
    startActivity(intent);
    onPause();

    SharedPreferences tpatt = getSharedPreferences("tpat", MODE_PRIVATE);
    temp1 = tpatt.getString("tpat", "");
    Toast.makeText(QDialList.this, temp1, Toast.LENGTH_SHORT).show();
    Log.i(TAG, temp1);

    if (temp1 != null) {
        Log.e(TAG, temp1);
        mDbOpenHelper.insert(
                name.getText().toString().trim(),
                num.getText().toString().trim(),
                temp1.trim()
        );
        //추가를 누를 경우 EditText에 있는 String 값을 다 가져옴
    } else {
        Toast.makeText(QDialList.this, "다시 입력해주세요.", Toast.LENGTH_SHORT).show();
    }

    //ArrayList 내용 삭제
    mInfoArr.clear();

    doWhileCursorToArray();

    mAdapter.setArrayList(mInfoArr);
    mAdapter.notifyDataSetChanged();
    //Cursor 닫기
    mCursor.close();
};

 

버튼 클릭시 GetQdPatt 액티비티에서 sharedpreference로 string을 받아

그 값과 기존 액티비티의 edittext에 있는 값을 함께 DB에 저장하려고 하는데,

GetQdPatt 액티비티가 실행되면서 edittext의 값만 먼저 DB에 입력되어버리더군요. 덕분에 계속 막히고 있습니다...

다른 액티비티 실행시 pause가 걸린다는데 어째서 이렇게 되는건가요?

아스트랄로프 (250 포인트) 님이 2016년 11월 13일 질문

1개의 답변

0 추천
다른 액티비티 실행시 pause가 걸린다는말은 액티비티의 생명주기 단계인 pause를 말하는것입니다.

해당 액티비티의 화면이 다른 앱에 의해서 가려지면 pause 단계가 됩니다.

onPause 오버라이딩 함수에서는 액티비티 pause주기 일 경우 처리해주어야 할 부분이 있으면 넣어주는것이구요.

동영상 플레이어에서 pause와는 다른 개념입니다.
Development Guy (70,570 포인트) 님이 2016년 11월 14일 답변
...