Java 在指定时间后尝试更改活动时出错-“很遗憾,应用程序已停止”
我完全不懂安卓编程。我只是想做一个闪屏,几秒钟后会变成主要活动。这就是我使用的代码:Java 在指定时间后尝试更改活动时出错-“很遗憾,应用程序已停止”,java,android,android-intent,android-activity,Java,Android,Android Intent,Android Activity,我完全不懂安卓编程。我只是想做一个闪屏,几秒钟后会变成主要活动。这就是我使用的代码: @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); TextView txt = (TextView) findViewById(R.id.diavlo_font);
@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);
}
我很确定,问题是当我尝试调用另一个活动时。事实上,我只是在按下按钮后才使用它,但现在我无法让它运行:/
对不起,也许这是件愚蠢而简单的事情,但我已经尝试解决这个问题好几天了,不幸的是我什么也没找到。
如果您有任何解决方法的建议,我将不胜感激。
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
添加第二个活动:
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.SetDisplayHomeAsupanabledTrue之前添加//;
或者干脆把它竖起来。第二个活动不起作用,因为我试图用set@android:style/Theme.NoTitleBar.Fullscreen显示动作栏。因此,我只需删除这些行或将样式更改为非全屏。您的错误在以下行:
getActionBar().setDisplayHomeAsUpEnabled(true);
我的猜测是,你正在尝试在一个Android版本上运行你的应用程序,该版本中不存在API 11,这低于API 11
在尝试获取ActionBar之前,您还可以尝试将以下内容添加到onCreate中:
getWindow().requestFeature(Window.FEATURE_ACTION_BAR);
如果仍然不起作用,则应用程序使用的主题中没有ActionBar。有一篇关于如何识别和解决这个问题的博文
如果你想在你的应用程序下面使用蜂窝API 11,那么你应该考虑使用它,它可以提供这个功能。
我不知道你的StActT迹是什么意思,但是我已经附加了LogCAT。问题在于它。你在哪个设备/仿真器上测试它?仿真器:Android 4.1设备:三星Galaxy S+4.0.4好的,现在一切都正常了,因为我认为这可能只是我的一个小小的、愚蠢的错误-,-天哪,真的谢谢你!刚刚安装了getActionBar.setDisplayHomeAspenabledTrue;现在一切正常。但是我使用的是4.0.4和更高版本?@MaciejSalamon我已经用两个可能的修正更新了我的答案。如果这些都不起作用,我没有主意,我可能只是个白痴,因为我已经将android:theme=@android:style/theme.NoTitleBar.Fullscreen设置为所有应用程序。。。这是最有可能的事情,它导致了无数的错误。好的,我们将尝试将一个普通主题设置为SecondActivity并编写它是否工作。再次伟大的thx!