gpt4 book ai didi

java - 尝试在指定时间后更改 Activity 后出错 - "Unfortunately, Application has stopped"

转载 作者:行者123 更新时间:2023-12-01 05:06:58 25 4
gpt4 key购买 nike

我对 Android 编程完全是新手。我只是想制作一个“启动”屏幕,它会在几秒钟后更改为主要 Activity 。这是我使用过的代码:

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView txt = (TextView) findViewById(R.id.diavlo_font);
Typeface font = Typeface.createFromAsset(getAssets(), "DiavloBlack-Regular.ttf");
txt.setTypeface(font);

final Handler handler = new Handler();
handler.postDelayed(new Runnable() {
public void run() {
//Do something after time
Intent intent = new Intent(MainActivity.this, SecondActivity.class);

startActivity(intent);
}
}, 5000);

}

我很确定,问题出在我尝试调用另一个 Activity 时。事实上,我只在“按下按钮后”使用它,但现在我无法让它运行:/抱歉,也许这是愚蠢而简单的事情,但我已经尝试解决这个问题几天了,不幸的是我什么也没发现。将非常感谢任何如何解决它的提示。PS 抱歉我的英语:)

编辑:抱歉没有添加日志,希望他们是对的。

09-20 17:49:10.740: E/AndroidRuntime(715): FATAL EXCEPTION: main
09-20 17:49:10.740: E/AndroidRuntime(715): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.czolgi.ii.ws/com.example.czolgi.ii.ws.SecondActivity}: java.lang.NullPointerException
09-20 17:49:10.740: E/AndroidRuntime(715): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2059)
09-20 17:49:10.740: E/AndroidRuntime(715): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2084)
09-20 17:49:10.740: E/AndroidRuntime(715): at android.app.ActivityThread.access$600(ActivityThread.java:130)
09-20 17:49:10.740: E/AndroidRuntime(715): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1195)
09-20 17:49:10.740: E/AndroidRuntime(715): at android.os.Handler.dispatchMessage(Handler.java:99)
09-20 17:49:10.740: E/AndroidRuntime(715): at android.os.Looper.loop(Looper.java:137)
09-20 17:49:10.740: E/AndroidRuntime(715): at android.app.ActivityThread.main(ActivityThread.java:4745)
09-20 17:49:10.740: E/AndroidRuntime(715): at java.lang.reflect.Method.invokeNative(Native Method)
09-20 17:49:10.740: E/AndroidRuntime(715): at java.lang.reflect.Method.invoke(Method.java:511)
09-20 17:49:10.740: E/AndroidRuntime(715): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
09-20 17:49:10.740: E/AndroidRuntime(715): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
09-20 17:49:10.740: E/AndroidRuntime(715): at dalvik.system.NativeStart.main(Native Method)
09-20 17:49:10.740: E/AndroidRuntime(715): Caused by: java.lang.NullPointerException
09-20 17:49:10.740: E/AndroidRuntime(715): at com.example.czolgi.ii.ws.SecondActivity.onCreate(SecondActivity.java:15)
09-20 17:49:10.740: E/AndroidRuntime(715): at android.app.Activity.performCreate(Activity.java:5008)
09-20 17:49:10.740: E/AndroidRuntime(715): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1079)
09-20 17:49:10.740: E/AndroidRuntime(715): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2023)
09-20 17:49:10.740: E/AndroidRuntime(715): ... 11 more

添加第二个Activity:

package com.example.czolgi.ii.ws;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.MenuItem;
import android.support.v4.app.NavUtils;

public class SecondActivity extends Activity {

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);
getActionBar().setDisplayHomeAsUpEnabled(true);
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_second, menu);
return true;
}


@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
NavUtils.navigateUpFromSameTask(this);
return true;
}
return super.onOptionsItemSelected(item);
}

}

解决方案:

所以这个问题的解决办法就是在 getActionBar().setDisplayHomeAsUpEnabled(true); 前面加上//或者干脆删除它。第二个 Activity 不起作用,因为我尝试设置“@android:style/Theme.NoTitleBar.Fullscreen”来显示操作栏。所以我只需删除这些行或将样式更改为非全屏即可。

最佳答案

您的错误位于以下行:

getActionBar().setDisplayHomeAsUpEnabled(true);

我的猜测是,您正在尝试在 Android 版本上运行您的应用程序,其中 ActionBar不存在,低于 API 11。

在尝试 getActionBar() 之前,您还可以尝试将以下内容添加到 onCreate() 中:

getWindow().requestFeature(Window.FEATURE_ACTION_BAR);

如果仍然不起作用,则说明您的应用使用的主题中没有 ActionBar。有一篇关于如何识别和解决此问题的巨博文章 here .

如果您想在应用程序中使用 Honeycomb (API 11) 下的 ActionBar,那么您应该考虑使用 ActionBarSherlock ,可以提供此功能。

关于java - 尝试在指定时间后更改 Activity 后出错 - "Unfortunately, Application has stopped",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12518344/

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