2017-04-11 3 views
-3

간단한 질문이 있습니다. int 값을 복원하는 방법은 무엇입니까? 나는 24 시간 이상 못하게하려고 노력했다. 간단한 예제 : 2 개의 액티비티, 액티비티에는 액티비티 B로 전환 한 버튼이 있습니다. 왼쪽 상단 모서리에는 기본적으로 아무런 문제가 없을 때까지 액티비티 A로 돌아 가기위한 플래시가 있습니다. A에 텍스트 필드가 있다고 가정 해 봅시다. 또는 버튼을 누를 때마다 카운터가 증가합니다. 예를 들어 액티비티 B를 액티비티 A로 반환 할 때마다 값이 삭제됩니다.변수 값 복원

난 정말 내가 그 질문에 대한 정보를 찾을 수있는 위치를 알고 싶어요, 난 이미 구글에 대한 모든 연구를 시도 :

1) 반환 활동 후 변수 값을 복원 안드로이드

2) 활동을 복원 안드로이드 https://developer.android.com/guide/components/activities/activity-lifecycle.html

또한 구글의 적어도 첫 2 페이지를 시도 :

상태

이미이 시도. 또한 OnSaveInstances .. ecc를 시도했습니다. 인디언들이 YouTube에서 설명하는 동영상도 보았습니다.

내가 아는 그래도 원하는 대부분의 안드로이드 개발자의 공식 사이트가이 정보를 쓴 라인입니다.

코드 :

공용 클래스 MainActivity는 AppCompatActivity가 {

private Button btn_increment; 
private Button btn_go_activity_B; 
private EditText textField; 

private int counter; 


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

    btn_increment = (Button) findViewById(R.id.button1); 
    btn_go_activity_B = (Button) findViewById(R.id.button2); 
    textField = (EditText) findViewById(R.id.edit_message); 

    onClick(btn_increment); 

    btn_go_activity_B.setOnClickListener(new OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      Intent intent = new Intent(getApplicationContext(), SecondActivity.class); 
      startActivity(intent); 
     } 
    }); 


} 

public void onClick(View v) { 
    btn_increment.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      counter++;    
      textField.setText(Integer.toString(counter)); 
     } 
    }); 
} 

이미 onSaveIntanceState 및 OnRestoreInstanceState 방법을 시도 확장합니다. 내가 활동 B로 이동하여 값이

+1

도움을주기 위해 몇 가지 코드를 제공하십시오. –

+0

번들을 살펴보십시오. http://stackoverflow.com/questions/768969/passing-a-bundle-on-startactivity –

+0

코드를 게시 할 수 있습니까? – Raghavendra

답변

0

당신은 수를 사라 왼쪽 상단 모서리에있는 기본 버튼으로 돌아 왔을 때 나는 버튼 btn_increment 클릭 이 프로그램은 모든 시간은 글고의 클릭 현재의 수를 표시하지만, 공유 우선 순위를 사용하십시오. Android는 애플리케이션의 데이터를 저장하는 다양한 방법을 제공합니다. 이 방법 중 하나는 공유 기본 설정이라고합니다. 공유 기본 설정을 사용하면 키, 값 쌍의 형태로 데이터를 저장하고 검색 할 수 있습니다.

설정 값 :

SharedPreferences.Editor editor = getSharedPreferences(MY_PREFS_NAME, MODE_PRIVATE).edit(); 
editor.putString("name", "Elena"); 
editor.putInt("idName", 12); 
editor.commit(); 

가져 오는 값 : -

SharedPreferences prefs = getSharedPreferences(MY_PREFS_NAME, MODE_PRIVATE); 
String restoredText = prefs.getString("text", null); 
if (restoredText != null) { 
    String name = prefs.getString("name", "No name defined");//"No name defined" is the default value. 
    int idName = prefs.getInt("idName", 0); //0 is the default value. 
} 
0

당신이 처음부터 의도를 사용하여 두 번째 활동하려고하고 setResult를 사용하고 있어야합니다 활동가로 복귀 희망() 메소드를 호출합니다. 이 경우 사용할 수

다음

활동가 파괴되지 않습니다 활동 A의 onActivityResult를 활동 A의 모든 변수 INT 콜백을 얻을 수 있습니다.