2013-06-20 1 views
0

데이터베이스에 데이터를 저장하기위한 확인란을 사용하고 있습니다. 그 다음에 데이터를 저장하여 다른 화면으로 리디렉션하는 앱을 선택합니다. 이 문제를 해결할 수 있습니까? 여기에서 나는 상태를 저장하는 함수를 실행하는 데 onbackpressed 코드를다시 버튼을 클릭하면 안드로이드에 체크 박스 상태가 저장됩니다.

public void joinLisn(){ 
    String shareProfileType2=Constants.PROFILE_SHARE_ALL; 
    String accessToken = null; 
    DatabaseHelper helper = new DatabaseHelper(getApplicationContext()); 
    DatabaseUtility dao = new DatabaseUtility(helper); 
    try { 
     accessToken = dao.getAccessToken(); 
    } catch (Exception e1) { 
     handler.sendEmptyMessage(1); 
     return; 
    } 

    if(accessToken == null || accessToken.length() == 0){ 
     handler.sendEmptyMessage(1); 
     return; 
    } 

    Map<String , String> params = new HashMap<String,String>(); 
    params.put(Constants.ACCESS_TOKEN_PARAM, accessToken); 
    params.put(Constants.LISN_ID_PARAM, id); 
    params.put(Constants.PROFILE_TYPE_PARAM,shareProfileType2); 

    Status status = null; 
    try { 
     status = Utils.joinLisn(params, this); 
    } catch (NullPointerException e) { 
     handler.sendEmptyMessage(12); 
     return; 
    } catch (JSONException e) { 
     handler.sendEmptyMessage(11); 
     return; 
    } 

    if(status == null){ 
     handler.sendEmptyMessage(1); 
    } else if(status.getStatus().equalsIgnoreCase(Constants.SUCCESS)){ 
     try { 
      Intent lisnDetailIntent = new Intent(this, LisnDetailTabView.class).setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
      Bundle bundleObj = new Bundle();  
      bundleObj.putString("id", id); 
      bundleObj.putString("RSVP","In"); 
      lisnDetailIntent.putExtras(bundleObj); 
      startActivityForResult(lisnDetailIntent,0); 
      overridePendingTransition(android.R.anim.slide_in_left, android.R.anim.slide_out_right);  
      handler.sendEmptyMessage(8); 
     } catch(Exception ex) {} 
    } else{ 
     handler.sendEmptyMessage(2); 
     return; 
    } 
} 
+0

문제에 약간 혼란 스럽습니다. 데이터가 DB에 저장되지 않았습니까? 아니면 반환 할 때 확인란이 선택되지 않았습니까? – codeMagic

+0

데이터가 DB에 저장되지 않았습니다 – user2218563

+0

질문이 확실하지 않습니다. 스크린 샷을 붙일 수 있습니까 (텍스트 벽 대신 이해하기 쉽습니다). – Siddharth

답변

0

재정을 배치하고있다.

public void onBackPressed() { 
     //Do your db saving here 
     super.onBackPressed(); 
    } 
0

앱이 다른 앱으로 리디렉션하는 경우 앱이 백그라운드로 전환됩니다. onSaveInstanceStateonRestoreInstanceState을 사용하여 확인란 상태를 저장하고 복원하십시오.

+0

다른 응용 프로그램이 여기에 렌더링되지 않습니다. 문제는 확인란을 선택한 다음 다음 화면으로 리디렉션하는 경우입니다. 그런 다음 다시 버튼을 클릭하면 이전 화면으로 이동하지만 확인란 상태는 저장되지 않고 확인란 상태는 저장되지 않습니다. 유일한 문제 – user2218563

관련 문제