A 액티비티에서
editext에 쓴 글을 프리프런스로 저장합니다
그리하여 재접속시 edittext에 값의 유무를 가지고 실행을합니다..
근데
B 액티비티에서 클릭으로
edittext에 있던 글을 지울려고합니다
어떤식으로해야하나요??
remove라는건아는데...
고수님들의 조언부탁드려요!
대략 의사코드를 작성하자면..리스너를 달아서 하면 더 깔끔한 코드가 나오겠지만.. 가장 쉬운방법을 택하자면 단연 싱글톤 객체를 통한 데이터 주고받기 입니다..
class Setting{
static boolean ms_bEditBoxValueShow = false;
static Setting ms_instance = new Setting();
private Setting(){}
public static Setting getInstance(){ return ms_instance; }
public static void setEditBoxValueShow(boolean flag){
ms_bEditBoxValueShow = flag;
}
public static boolean isEditBoxValueShow(){
return ms_bEditBoxVlaueShow;
}
}
class A_Activity extends Activity{
EditText m_editText;
@Override
protected void onCreate(Bundle savedInstanceState) {
.... 중략...
}
@Override
protected void onResume(){
settingEditView(); // 에디트 뷰 셋팅 호출
}
private void settingEditView(){
if(Setting.getInstance().isEditBoxValueShow() == true){
// 값을 표시해야 될 경우 처리
}
else{
// 값을 표시하지 않을 경우 처리..
}
}
}
class B_Activity extends Activity{
// 생략..
// 여기서 버튼 클릭시..
if(btn.onClickListance()... 중략)
if(Setting.getInstance().isEditBoxValueShow() == true){
Setting.getInstance().setEditBoxValueShow(false);
}
else{
Setting.getInstance().setEditBoxValueShow(true);
}
}
... 중략..
}
요런식으로 처리하면 됩니다.




통합 데이터 관리 클래스를 만드셔서..
리스너를 구현하시고.. B엑티비티에서 클릭시 리스너를 통해 내부 변수를 true로 바꿔주시거나 해서..
다시 A엑티비티로 돌아갈때 onResume() 에서 바뀐변수에 따라 빈것을 뿌려줄지 채워진것을 뿌려줄지 결정하면 될듯하네요..