2012-10-02 2 views
0

선택한 단일 레코드에 대해 전체 행을로드하는 조각 활동이 있는데, 처음에는 정상적으로 작동하지만 방향을 변경하면 "소스를 찾을 수 없습니다" . 난 당신이 방향을 변경하면 코드가 실행되지 않는 것을 말하고 있다고 생각조각 활동에 의해 처리 된 조각으로 안드로이드 방향 변경

@Override 


public void onCreate(Bundle savedInstanceState)` 
    { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.client_layout); 

     if (savedInstanceState==null) 
     { 
      clientActivityViewModel= (ClientActivityViewModel)getLastCustomNonConfigurationInstance(); 

      if(clientActivityViewModel==null) 
      { 
       clientActivityViewModel= new ClientActivityViewModel(getBaseContext()); 
       if (bundle== null) 
       { 
        bundle= getIntent().getExtras(); 
       } 
       clientActivityViewModel.setAccountId(bundle.getString("accountId")); 
       clientActivityViewModel.GetAccountInformation(bundle.getString("accountId")); 
       clientInformationActivity= new ClientInformationActivity(); 
       clientInformationActivity.setAccountInformation(clientActivityViewModel.getAccountInformation()); 

       clientActivityViewModel.GetAccountComplementaryInformation(bundle.getString("accountId")); 
       clientComplementaryInformationActivity= new ClientComplementaryInformationActivity(); 
       clientComplementaryInformationActivity.setAccountComplementaryInformation(clientActivityViewModel.getAccountComplementaryInformation()); 
      } 

      if(clientActivityViewModel!=null) 
      { 
       clientActivityViewModel.GetAccountInformation(clientActivityViewModel.getAccountId()); 
       clientInformationActivity= new ClientInformationActivity(); 
       clientInformationActivity.setAccountInformation(clientActivityViewModel.getAccountInformation()); 

       clientActivityViewModel.GetAccountComplementaryInformation(clientActivityViewModel.getAccountId()); 
       clientComplementaryInformationActivity= new ClientComplementaryInformationActivity(); 
       clientComplementaryInformationActivity.setAccountComplementaryInformation(clientActivityViewModel.getAccountComplementaryInformation()); 

       if (clientActivityViewModel != null) 
       { 
        pager = (ViewPager) findViewById (R.id.pager); 
        MyFragmentPagerAdapter adapter = new MyFragmentPagerAdapter(getSupportFragmentManager()); 
        adapter.addFragment(clientInformationActivity); 
        adapter.addFragment(clientComplementaryInformationActivity); 
        adapter.addFragment(new ClientAddressActivity()); 
        adapter.addFragment(new ClientPaymentInfoActivity()); 
        adapter.addFragment(new ClientDescriptionInfoActivity()); 
        pager.setAdapter(adapter); 
       } 
      } 
     } 
    } 


    @Override 
    public Object onRetainCustomNonConfigurationInstance() 
    { 
     if (clientActivityViewModel== null) 
     { 
      clientActivityViewModel= new ClientActivityViewModel(getBaseContext()); 
      bundle= getIntent().getExtras(); 
      clientActivityViewModel.setAccountId(bundle.getString("accountId")); 
     } 
     return clientActivityViewModel; 
    } 
+0

이상 .. . – Barak

답변

0

: 나는 라인으로 라인을 디버깅 할 때 일부 텍스트 뷰가 (NULL을 반환)을 사용할 수 없습니다, 이것은 내 조각 활동 코드입니다.

이 경우 오리엔테이션이 다시 변경 될 때 생성 후이 생성됩니다. 그래서 처음으로 활동이 올바르게 실행되지 않습니다.

당신이 당신의 매니페스트 파일에이 선언이이 문제를 해결하려면 다음

android:configChanges="keyboardHidden|orientation" 
android:configChanges="keyboardHidden|screensize" 

마지막 줄은 내가 게시 된 코드에서 어떤 textviews이 표시되지 않는 안드로이드 3.0 availabe 및

+0

'screenSize'이어야합니다 (그렇지 않으면 컴파일되지 않습니다). – ygesher

관련 문제