안드로이드 뷰페이저 갱신 질문입니다.

안녕하세요. 연휴는 잘 보내셨는지요. 다름이 아니라 연휴간 해결하지 못한 문제를 질문드리려고 합니다.

레이아웃에 탭 3개를 프래그먼트를 이용하여 뷰페이저를 구성하였는데요.

프래그먼트 탭A 에서 EditText를 이용해 스트링값을 입력 받고 아래 버튼을 누르면

번들을 이용해 값을 탭을 감싸고 있는 메인클래스에 값을 세팅시키고

프래그먼트 탭B 에 있는 TextView에 값이 그대로면 계속해서 저장되있고 다시 탭A에서

다른값을 입력하고 버튼을 눌렀을때 값이 변경되게 하려고 합니다.

구글링하면서 성공을 시킨 방법이 있는데 탭을 넘길때 전체적인 퍼포먼스가

너무 느려져서 다른방법을 찾고있습니다.

현재 소스로는 앱을 종료시켰다가 다시 켰을때 이전에 입력값이 표시는 됩니다.

다만, 입력 후 탭을 옴겼을때 바로 갱신이 되질 않네요.

비슷하게 구현된 예제를 아시거나 ,아시는 내용이 있으시면 답변해주시면 감사하겠습니다.

아래 관련 소스 첨부합니다.

// 프래그먼트 탭A에서 클릭 이벤트 리스너 내부
childDate = childBirth.getText().toString();
Bundle arguments = new Bundle();
arguments.putString("name", childDate);
MainTab.setArguments(arguments);

// 메인 클래스 겟터 셋터
public static void setArguments(Bundle arguments) {
      MainTab.arguments = arguments;
}
public static Bundle getArguments() {
      return arguments;
}

// 프래그먼트 탭B onCreateView
public View onCreateView(LayoutInflater inflater, ViewGroup container,
     Bundle savedInstanceState) {

      View v = inflater.inflate(R.layout.fragment_educationinfo, container, false);

      Bundle bundle = MainTab.getArguments();
      if (bundle != null) {
            String name = bundle.getString("name");

            TextView txt = (TextView) v.findViewById(R.id.test);
            txt.setText(name);
      }
      return v;
}

1답변

ᕕ( ᐛ )ᕗ
로그인이 필요합니다

작성한 답변에 다른 개발자들이 댓글을 작성하거나 댓글에 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.