几秒钟后,我尝试从另一个活动中打开一个新活动,我使用了这段代码,
但它不起作用(运行第一个活动,但几秒钟后出现错误)
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" />
此link 将为您提供帮助。