選択した単一のレコードの行全体をロードするフラグメント アクティビティがあり、最初は正常に動作しますが、方向を変更するとクラッシュし、「ソースが見つかりません」がスローされます。行ごとにデバッグすると、一部の TextView が使用できなくなります (null が返されます)。これが私のフラグメント アクティビティ コードです。
@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;
}