আমি অ্যান্ড্রয়েডে নতুন নেভিগেশন আর্কিটেকচার উপাদান ব্যবহার করছি এবং আমি একটি নতুন খণ্ডে যাওয়ার পরে নেভিগেশন স্ট্যাক সাফ করতে আটকে রয়েছি।
উদাহরণ: আমি লগইনফ্রেগমেন্টে আছি এবং আমি চাই যখন আমি হোম ফ্রেমে নেভিগেট করব তখন স্ট্যাকটি থেকে এই টুকরোগুলিটি সাফ হয়ে যাবে যাতে ব্যবহারকারী যখন পিছনের বোতামটি টিপবে তখন লগইনফ্র্যাগমেন্টে ফিরে না আসতে পারে।
আমি নেভিগেট করার জন্য একটি সরল নাভহস্টফ্রেগমেন্ট.ফাইন্ডনাভকন্ট্রোলার (টুকরা) .নভিগেট (আর। আইড । হোমফ্রেগমেন্ট) ব্যবহার করছি ।
বর্তমান কোড:
mAuth.signInWithCredential(credential)
.addOnCompleteListener(getActivity(), new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
if (task.isSuccessful()) {
NavHostFragment.findNavController(LoginFragment.this).navigate(R.id.homeFragment);
} else {
Log.w(TAG, "signInWithCredential:failure", task.getException());
}
}
});
আমি ব্যবহার করার চেষ্টা NavOptions মধ্যে নেভিগেট করুন () কিন্তু ব্যাক বোতাম এখনও loginFragment ফিরে আমাকে পাঠাচ্ছে
NavOptions.Builder navBuilder = new NavOptions.Builder();
NavOptions navOptions = navBuilder.setPopUpTo(R.id.homeFragment, false).build();
NavHostFragment.findNavController(LoginFragment.this).navigate(R.id.homeFragment, null, navOptions);
navigate()
পদ্ধতিটি ব্যবহার করতে পারেন navigate(int resId, Bundle args, NavOptions navOptions)
এবং NavOptions
আপনার সেনেরিওর জন্য সবচেয়ে উপযুক্ত উপযুক্ত তা সরবরাহ করতে পারেন
popBackStack
বা যোগLoginFragment
করতে পারবেন না এবং এটিকে নতুন দিয়ে প্রতিস্থাপন করতে পারেনnull
addToBackStack(null);
Fragment