2017-11-25 1 views
0

Android Studio에서이 독특한 문제가 발생합니다. 스크린 회전을 이해하기 위해이 간단한 앱을 만들었습니다. 화면이 회전 할 때 Activity가 파괴되면서 onCreate 메서드를 호출하는 개념을 이해합니다. 데이터를 저장하려면 onSaveInstanceState 메서드를 재정 의하여 Bundle에 저장해야합니다. 중간에 2 개의 버튼과 숫자가있는 앱을 만들었습니다. 클릭 수에 따라 숫자가 달라집니다. 그러나 어떤 이유로 화면을 회전 시키면 숫자가 재설정되지만 화면이 회전하기 전의 값이 그대로 유지됩니다. 예를 들어 숫자를 5로 설정하고 숫자를 0으로 돌리면 숫자가 0이되지만 숫자를 줄이면 숫자가 4로 줄면 6이됩니다. 어떻게 든 값은 그대로 유지되지만 0으로 재설정됩니다. 나는 이유를 모른다. 여기에 당신은 이 증가 또는 감소 할 때 올바른 값을 회전하면서 값을 표시하지만이없는 이유에서 onCreateAndroid 화면 회전

amount.setText(Integer.toString(change)); 

의 코드를 놓친 코드

package com.example.android.application; 

import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.Button; 
import android.widget.TextView; 

public class MainActivity extends AppCompatActivity implements View.OnClickListener { 
    Button upButton, downButton; 
    TextView amount; 
    int change; 
    private static final String banza = "Bundle"; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     if (savedInstanceState != null) { 
      change = savedInstanceState.getInt(banza); 
     } 
     upButton = (Button) findViewById(R.id.activity_main_up_button); 
     downButton = (Button) findViewById(R.id.activity_main_down_button); 
     amount = (TextView) findViewById(R.id.activity_main_textview_id); 
     upButton.setOnClickListener(this); 
     downButton.setOnClickListener(this); 
    } 

    @Override 
    public void onClick(View view) { 
     if (view == upButton) { 
      change++; 
      amount.setText(Integer.toString(change)); 
     } 

     if (view == downButton) { 
      change--; 
      amount.setText(Integer.toString(change)); 
     } 
    } 

    @Override 
    protected void onSaveInstanceState(Bundle savedInstanceState) { 
     super.onSaveInstanceState(savedInstanceState); 
     savedInstanceState.putInt(banza, change); 
    } 
} 

답변

0

입니다.

+0

@ Suraj Nair, 와우, 내가 어떻게 그리워하는지 모르겠다. 고마워! – Mykey

+0

대답을 수락 하시겠습니까 :) –

+0

@ Suraj Nair가 방금 했어요! – Mykey