У меня есть вопрос относительно транзакций фрагментов. У меня есть три фрагмента в моей AuthenticationActivity
который я удаление и добавление на основе кликов пользователей:Фрагмент транзакций android
- приветственном фрагмент,
- фрагмент входа,
- фрагмент Регистрация
У меня жесткий что происходит при изменении ориентации и удалении фрагмента и добавлении другого фрагмента.
Вопрос 1: Когда я меняю ориентацию, я проверяю, является ли мой фрагмент нулевым, а затем, если мой фрагмент виден. Он говорит, что фрагмент не является нулевым, а фрагмент не отображается, хотя я вижу фрагмент на экране.
Вопрос 2: Когда я удаляю данный фрагмент и добавляю еще один фрагмент и изменяю ориентацию и проверяю, является ли предыдущий фрагмент нулевым. Несмотря на то, что я удалил предыдущий фрагмент, он говорит, что фрагмент не является нулевым, но не видимым. Я этого не понимаю.
Было бы здорово, если бы кто-нибудь помог мне с этими проблемами.
public class AuthenticationActivity extends Activity implements
OnClickAuthentication, LoginInterface, SignupInterface {
private final static String TAG = "AuthenticationActivity";
private final static String WELCOMETAG = "WelcomeFragmentTAG";
private final static String LOGINTAG = "LoginFragmentTAG";
private final static String SIGNUPTAG = "SignupFragmentTAG";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_authentication);
Log.d(TAG, "in onCreate");
Fragment fragment = getFragmentManager().findFragmentByTag(WELCOMETAG);
if (fragment == null) {
Log.d(TAG, "welcome fragment is null in onCreate");
getFragmentManager()
.beginTransaction()
.add(R.id.authentication_parent0_linear,
new WelcomeFragment(), WELCOMETAG).commit();
} else {
Log.d(TAG, "welcome fragment is not null in onCreate");
if (fragment.isVisible()) {
Log.d(TAG, "welcome fragment is visible");
} else {
Log.d(TAG, "welcome fragment is not visible");
}
}
}
Является ли фрагмент невидимым в onCreate ?? – krishna
А также почему удаленный фрагмент не возвращается null? – krishna
Я предполагаю, что транзакция еще не была «обработана», когда вы проверяете, была ли она удалена. –