繁体   English   中英

几秒钟后从另一个活动中打开活动

[英]open activity from another activity after some seconds

几秒钟后,我尝试从另一个活动中打开一个新活动,我使用了此代码,但是它不起作用(第一个活动运行了,但几秒钟后我出现了错误)

public class WelcomeActivity extends AppCompatActivity {

    private static int TIME_OUT = 4000;

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

        new Handler().postDelayed(new Runnable() {
            @Override
            public void run() {
                Intent intent = new Intent(WelcomeActivity.this, MainActivity.class);
                startActivity(intent);
                //finish();
            }
        }, TIME_OUT);
    }
}

这是一个堆栈跟踪:

java.lang.RuntimeException:无法启动活动ComponentInfo {________}:java.lang.IllegalStateException:此活动已经具有窗口装饰提供的操作栏。 不要请求Window.FEATURE_SUPPORT_ACTION_BAR并将主题中的windowActionBar设置为false来使用工具栏

问题不在于此代码。 根据您的例外情况,问题出在MainActivity class 我认为您正在尝试创建自定义操作栏。 但是由于您当前的主题已经有一个操作栏,所以发生了错误。 因此,您需要为该课程自定义主题。

styles.xml创建一个新主题。

    <style name="Theme.FullScreen" parent="AppTheme.NoActionBar">
        <item name="android:windowNoTitle">false</item>
        <item name="android:windowFullscreen">false</item>
        <item name="android:windowActionBar">false</item>
    </style>

AndroidManifest.xml ,将视图主题更改为自定义主题。

    <activity
        android:name=".MainActivity "
        android:theme="@style/Theme.FullScreen" />

链接将为您提供帮助。

在style.xml <item name="windowActionBar">false</item>

例:

 <!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <!-- Customize your theme here. -->
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
    <item name="android:windowAnimationStyle">@style/AnimationActivity</item>

</style>

<style name="AppTheme.NoActionBar">
    <item name="windowActionBar">false</item>
    <item name="windowNoTitle">true</item>
</style>

<style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" />

<style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" />

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM