将splash添加到片段时出错

时间:2016-03-26 09:52:08

标签: android android-fragments

我有一个启动画面,然后加载后我想要一个片段打开。我写了我的代码,但收到了错误。

以下是我的代码。

public class Splashscreen extends FragmentActivity {


// Splash screen timer
private static int SPLASH_TIME_OUT = 4000;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_splashscreen);



    new Handler().postDelayed(new Runnable() {
        /*
         * Showing splash screen with a timer. This will be useful when you
         * want to show case your app logo / company
         */

        @Override
        public void run() {

            Boolean isFirstRun = getSharedPreferences("PREFERENCE",MODE_PRIVATE)

                    .getBoolean("isfirstrun", true);

            // This method will be executed once the timer is over
            // Start your app main activity

            if(isFirstRun) {

                LoginFragment fragment = new LoginFragment();

                FragmentManager fragmentManager = getFragmentManager();

                **fragmentManager.beginTransaction().replace(R.id.container_body,fragment).commit();**


                getSharedPreferences("PREFERENCE", MODE_PRIVATE).edit().putBoolean("isfirstrun", false).commit();

            }

            else {

                Intent i = new Intent(Splashscreen.this, Test.class);
                startActivity(i);

            }


            // close this activity
            finish();
        }



    }, SPLASH_TIME_OUT);



}

}

fragmentManager.beginTransaction()代替(R.id.container_body,片段).commit();

在这一行(R.id.container_body,片段)中:“fragment”以红色下划线。

有人可以指导我为什么会出现错误吗?

提前致谢

1 个答案:

答案 0 :(得分:0)

试试这个。

更改此部分

LoginFragment fragment = new LoginFragment();

对此。

Fragment fragment = new LoginFragment();

在替换时使用Fragment定义。

修改:

import android.support.v4.app.Fragment两者都相同。

    Fragment fragment = new LoginFragment();

对于Login Fragment也是如此。