gpt4 book ai didi

android - 抽屉导航 Activity 的 Activity Intent (应用程序崩溃)

转载 作者:行者123 更新时间:2023-11-29 18:43:04 25 4
gpt4 key购买 nike

在主要 Activity 抽屉导航上进行 Activity 后,我的应用程序崩溃了...有人可以帮我吗...

下面是我的 Introduction.java 代码

public class Introduction extends AppCompatActivity{

//POP UPS
ImageView getstart;

//image button
MediaPlayer background_music;
int length;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.introduction);
bmusic();
getstart=(ImageView)findViewById(R.id.playnow);
final MediaPlayer button= MediaPlayer.create(this,R.raw.intro_button);
getstart.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
button.start();
new Timer().schedule(new TimerTask() {
@Override
public void run() {

Intent goMain= new Intent(Introduction.this,MainActivity.class);
startActivity(goMain);
finish();
}
}, 1000);
}


});


}

public void bmusic() {
background_music = MediaPlayer.create(this, R.raw.intro_adventure);
background_music.setLooping(true);
background_music.start();
}


@Override
protected void onPause() {
// TODO Auto-generated method stub
super.onPause();
background_music.pause();
length = background_music.getCurrentPosition();
}

@Override
protected void onRestart() {
// TODO Auto-generated method stub
super.onRestart();
background_music.seekTo(length);
background_music.start();
}


}

这是我在 MainActivity.java 中的代码

public class MainActivity extends AppCompatActivity implements NavigationView.OnNavigationItemSelectedListener {

private DrawerLayout drawer;


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


Toolbar toolbar = findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
drawer = findViewById(R.id.drawer_layout);
NavigationView navigationView = findViewById(R.id.nav_view);
navigationView.setNavigationItemSelectedListener(this);
ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(this, drawer, toolbar, R.string.navigation_drawer_open
, R.string.navigation_drawer_close);

drawer.addDrawerListener(toggle);
toggle.syncState();

if (savedInstanceState == null) {
getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,
new fragment_home()).commit();
navigationView.setCheckedItem(R.id.nav_home);
}

}

@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {

switch (item.getItemId()) {

case R.id.nav_home:

getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,
new fragment_home()).commit();
break;
case R.id.nav_tips:

getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,
new fragment_tips()).commit();
break;

case R.id.nav_about:

getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,
new fragment_about()).commit();
break;


case R.id.share:

Toast.makeText(this, "Share", Toast.LENGTH_SHORT).show();
break;

case R.id.rate:

Toast.makeText(this, "Rate this app", Toast.LENGTH_SHORT).show();
break;

}
drawer.closeDrawer(GravityCompat.START);
return true;
}

@Override
public void onBackPressed() {
if (drawer.isDrawerOpen(GravityCompat.START)) {
drawer.closeDrawer(GravityCompat.START);
} else {
super.onBackPressed();
}
}
}

这是我的 logcat 上的错误

E/HW-JPEG-DEC: [HME_JPEG_DEC_Delete](3321): HME_JPEG_DEC_Delete: decoder_ctx=null
E/HW-JPEG-DEC: [HME_JPEG_DEC_Delete](3321): HME_JPEG_DEC_Delete: decoder_ctx=null
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.james.navigate, PID: 4947
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.james.navigate/com.james.navigate.MainActivity}: java.lang.IllegalStateException: This Activity already has an action bar supplied by the window decor. Do not request Window.FEATURE_SUPPORT_ACTION_BAR and set windowActionBar to false in your theme to use a Toolbar instead.
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2793)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2864)
at android.app.ActivityThread.-wrap12(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1567)
at android.os.Handler.dispatchMessage(Handler.java:105)
at android.os.Looper.loop(Looper.java:156)
at android.app.ActivityThread.main(ActivityThread.java:6523)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:942)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:832)
Caused by: java.lang.IllegalStateException: This Activity already has an action bar supplied by the window decor. Do not request Window.FEATURE_SUPPORT_ACTION_BAR and set windowActionBar to false in your theme to use a Toolbar instead.
at android.support.v7.app.AppCompatDelegateImplV9.setSupportActionBar(AppCompatDelegateImplV9.java:201)
at android.support.v7.app.AppCompatActivity.setSupportActionBar(AppCompatActivity.java:129)
at com.james.navigate.MainActivity.onCreate(MainActivity.java:26)
at android.app.Activity.performCreate(Activity.java:6915)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1123)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2746)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2864) 
at android.app.ActivityThread.-wrap12(ActivityThread.java) 
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1567) 
at android.os.Handler.dispatchMessage(Handler.java:105) 
at android.os.Looper.loop(Looper.java:156) 
at android.app.ActivityThread.main(ActivityThread.java:6523) 
at java.lang.reflect.Method.invoke(Native Method) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:942) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:832) 

最佳答案

发生这种情况是因为您的样式有一个 ActionBar 并且在您的 java 代码中,您声明了 Toolbar

因此,将此添加到您的 styles.xml:

<item name="windowActionBar">false</item> 

这表明这个主题没有ActionBar,但是你可以在java端声明Toolbar

或者只使用没有 ActionBar 的父级:

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">

第二种是最简单的方法。

更新:适用于 AndroidX 或最多 28 个 API:

<style name="AppTheme" parent="Theme.MaterialComponents.Light.NoActionBar">

关于android - 抽屉导航 Activity 的 Activity Intent (应用程序崩溃),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52634787/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com