2017-10-16 11 views
0

세이 활동 : 은 특정 정보를 입력 할 때 Edittext을 가지며 해당 특정 활동의 버튼을 클릭하면 액티비티 B으로 이동합니다. B에서 버튼을 다시 클릭하여 활동 복귀에
삭제 방법 활동으로 돌아 가기 전에 텍스트 데이터 편집?

는 편집 텍스트의 내용은 지워지고 도와 .. 같은 남아있다. ActivityB

2) ActivityA

3 onActivityResult 당신의 ActivityB를 시작하고 재정의 startActivityForResult를 사용) 재정 ActivityA을

1) 이전에 시작 EditText 데이터를 제거

+0

그냥'editText.setText ("")'를 입력하십시오. –

답변

3

그렇게 할 수있는 방법은 여러가지 방법이 있습니다 onResume 방법을 사용하고 해당 방법 내에서 EditText 데이터를 제거하십시오. 이 방법을 사용하면 ActivityB를 시작하지 않아도 EditText 데이터를 플러시 할 수 있으므로 작업주기를 유의하십시오. 의도가 edittext to ("");

EditText name = (EditText)findViewByid(R.id.edittext); 
name.settext("Your Name"); 

Button send = (Button)findViewById(R.id.button); 
send.setOnClickListener(new View.OnClickListener(){ 
     public void onClick(View v) { 
    name.settext(""); 
     Intent activity_b = new Intent(ActivityA.this, ActivityB.class); 
     startActivity(activity_b) 
     } 

    }); 

을 설정하기 전에

editText.setText(""); 
+1

'onResume() '에서 이것을 수행하는 것은 또한 모든 중단을 의미한다는 점에 유의하십시오. 들어오는 호출도 데이터를 플러시합니다. – adnanyousafch

+0

@adnanyousafch, 네, 맞습니다. 좀 더 정확하게 내 대답을 편집했습니다. – AlexTa

1

단지 startActivity(intent) 메소드를 호출하기 전에 editText.setText("");

1

를 설정하여 재설정 또는 당신은 또한 할 수 있습니다

것은 이렇게하려면, 단지 할 do

@Override 
public void onResume(){ 
super.onResume(); 
name.settext("); 

} 
당신은 그럼 그냥 코드 곳의 줄 앞에 넣어 ActivityA 다시 ActivityB에서 오는 경우에만 글고 빈 확인하려면
0

editText.setText("");

당신은 두 가지 방법으로

  1. 코드 위의 라인을 넣을 수 있습니다 당신은 ActivityB를 시작합니다. edittext.settext(""); Intent intent = new Intent(ActivityA.this, ActivityB.class); startActivity(intent)

  2. onResume() 모든 다른 시나리오를 다루고 싶다면. 해당 액티비티가 다른 액티비티 또는 백그라운드에서 반환 할 때마다 edittext를 비 웁니다.

희망이 있으면 도움이 될 것입니다.