0

私の質問は、Google Navigation Component ライブラリの新しいライブラリのみに関連しているため、.addtobackstack などの通常のフラグメントには関連していません。

やりたいことを単純化しますが、私のアプリには +30 フラグメントがあります

親フラグメントと子があり、親フラグメントにはタブとリサイクラー ビューがあり、データは API から取得されます。RV アイテムをクリックすると、子フラグメントが開きます。親フラグメントに戻ったら、元のようにしたいので、データを再度ロードしたくありません。

私のテストは常に最初から再度リロードし、ビューを作成してからデータをロードします。新しいアクティビティを意図的に開いたときに、親アクティビティにはまだ独自のビューがあるようにしたいのです。

これは私のコードの一部ですが、問題がある可能性があります

   val host: NavHostFragment = supportFragmentManager
            .findFragmentById(R.id.main_activity_host_fragment) as NavHostFragment? ?: return 

class ParentFragment : Fragment() {
    var mEmail: String = ""
    var mPassword: String = ""
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)

    }

    override fun onCreateView(
        inflater: LayoutInflater, container: ViewGroup?,
        savedInstanceState: Bundle?
    ): View? {
        // Inflate the layout for this fragment
        var rootView: View = inflater.inflate(R.layout.fragment_parent, container, false)

setupViews(rootView)
        loadDataFromServer()

        rootView.text_clickable_to_sign_up_from_sign_in.setOnClickListener {
            findNavController().navigate(R.id.child_frag_dest, null, null)
        }
        return rootView

    }}
...
4

0 に答える 0