そのタイトルが意味をなすかどうかはわかりませんが、私が何を望んでいるかを説明するのは難しいですが、やってみます.
ListFragment と MyFragment をフラグメント化する必要があります。デバイスが縦向きの場合、つまり両方のフラグメントが一緒に画面に収まらない場合は、LisFragment のみが表示されます。フラグメントをホストし、関連するデバイスの向きに関連するフラグメントを表示する MyActivity というアクティビティがあります。
次に、ユーザーはボタンを押して startActivityForResult を使用して検索を実行し、MyActivity 内で関数を呼び出して、実際に必要なことを実行できます。
電話が横向きの場合、つまり両方のフラグメントが表示されている場合、PasswordList フラグメント内から関数が正常に呼び出されます。ただし、電話が縦向きの場合、ListFragment は null であるため、関数は呼び出されません。以下は私が問題を抱えているコードです
public void performSearch(ArrayList<Spanned> passwords) {
PasswordList passwordList = (PasswordList)getFragmentManager().findFragmentById(R.id.passwordListFragment);
passwordList.performingSearch = true;
passwordList.performSearch(passwords);
}
PasswordList は、私が上で話している ListFragment です。電話が横向きの場合、passwordList が機能し、performSearch 関数を実行できます。ListFragment が表示されていても電話が縦向きの場合、Null が返されるため、performSearch を実行できません。
どちらの方法でも performSearch 関数を実行するにはどうすればよいですか。ご協力いただきありがとうございます。