猿问

片段翻译和电话定位错误

手机的方向和片段翻译错误。


我有一个活动和一些片段。第一个片段立即出现在带有徽标的活动上,3 秒后第二个片段翻译过来。问题是如果我改变手机的方向,第一个片段会以与我启动应用程序相同的延迟和相同的行为重新出现。


主要活动:


package com.mainpackage.pinbook;


import android.support.v4.app.FragmentTransaction;

import android.support.v7.app.AppCompatActivity;

import android.os.Bundle;


import com.mainpackage.pinbook.com.autentification.LoginFragment;



public class MainActivity extends AppCompatActivity {

@Override

protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_main);



    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_main);


    FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction();

    fragmentTransaction.replace(R.id.main_container , new MainScreen());

    fragmentTransaction.commit();

}

}

主屏幕:


package com.mainpackage.pinbook;


import android.os.Bundle;

import android.os.Handler;

import android.support.annotation.NonNull;

import android.support.annotation.Nullable;

import android.support.v4.app.Fragment;

import android.support.v4.app.FragmentTransaction;

import android.support.v7.app.AppCompatActivity;

import android.util.Log;

import android.view.LayoutInflater;

import android.view.View;

import android.view.ViewGroup;

import android.widget.TextView;



import com.mainpackage.pinbook.com.autentification.*;


public class MainScreen extends Fragment{

@Nullable

@Override

public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {

    return inflater.inflate(R.layout.main_screen , container , false);

}


private TextView entry_text;

public static final String TAG = MainScreen.class.getSimpleName();


@Override

public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {

    super.onViewCreated(view, savedInstanceState);

    new Handler().postDelayed(new Runnable() {

        @Override

        public void run() {

            slide();

        }

    }, 3000);


}



慕姐8265434
浏览 82回答 1
1回答

慕容708150

当设备旋转onCreate()时再次调用。像这样包装你的片段交易onCreate():if (savedInstanceState == null) {    FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction();    fragmentTransaction.replace(R.id.main_container , new MainScreen());    fragmentTransaction.commit();}这将防止第一个片段在您旋转时被放回顶部。
随时随地看视频慕课网APP

相关分类

Java
我要回答