- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
调用 startActivity 时,我一直收到 NPE,我认为这与我提供给 Intent 的上下文有关。当我从 Internet 获取 xml 数据时,我试图让启动画面保持不变。 splash Activity 创建一个启动 AsyncTask 的 sbplXmlData 对象。 onPostExecute() 调用 startActivity()。感谢您的帮助。
public class SbplSplash extends Activity {
String now_playing, earned;
ArrayList<String> gameIdsList;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.splash_layout);
/**
* Showing splashscreen while making network calls to download necessary
* data before launching the app Will use AsyncTask to make http call
*/
/* Invoke Xml Parser and database creator/population */
gameIdsList = new ArrayList<String>();
SbplXmlData xmlDataObj = new SbplXmlData(gameIdsList);
gameIdsList = xmlDataObj.getGameId();
}
}
SbplXmlData Activity :
public class SbplXmlData extends Activity {
SbplXmlData(ArrayList<String> gameIdsList) {
this.gameIdsList = gameIdsList;
loadPage();
}
public Context getContext() {
return this;
}
// Uses AsyncTask to download the XML feed
public void loadPage() {
/* assume we have a connection for now */
wifiConnected = true;
if ((wifiConnected || mobileConnected)) {
new DownloadXmlTask(this).execute(URL);
} else {
Log.e(TAG, "Unable to downlaod from URL");
// show error
}
}
// Implementation of AsyncTask used to download XML feed from nfl.com.
private class DownloadXmlTask extends AsyncTask<String, Void, String> {
Context context;
DownloadXmlTask(Context context) {
this.context = context;
}
@Override
protected String doInBackground(String... urls) {
try {
return loadXmlFromNetwork(urls[0]);
} catch (IOException e) {
return getResources().getString(R.string.connection_error);
} catch (XmlPullParserException e) {
return getResources().getString(R.string.xml_error);
}
}
@Override
protected void onPostExecute(String result) {
// do something to indicate success
super.onPostExecute(result);
// will close this activity and launch main activity
Intent i = new Intent(context, LiveViewActivity.class);
//i.putStringArrayListExtra("list", gameIdsList);
startActivity(i);
}
}
这是日志:
10-04 14:47:14.242: I/SbplXmlData(32559): 14
10-04 14:47:14.242: D/OpenGLRenderer(32559): Enabling debug mode 0
10-04 14:47:14.242: D/AndroidRuntime(32559): Shutting down VM
10-04 14:47:14.242: W/dalvikvm(32559): threadid=1: thread exiting with uncaught exception (group=0x42021ac8)
10-04 14:47:14.252: E/AndroidRuntime(32559): FATAL EXCEPTION: main
10-04 14:47:14.252: E/AndroidRuntime(32559): java.lang.NullPointerException
10-04 14:47:14.252: E/AndroidRuntime(32559): at android.app.Activity.startActivityForResult(Activity.java:3430)
10-04 14:47:14.252: E/AndroidRuntime(32559): at android.app.Activity.startActivityForResult(Activity.java:3391)
10-04 14:47:14.252: E/AndroidRuntime(32559): at android.app.Activity.startActivity(Activity.java:3626)
10-04 14:47:14.252: E/AndroidRuntime(32559): at android.app.Activity.startActivity(Activity.java:3594)
10-04 14:47:14.252: E/AndroidRuntime(32559): at com.jbrewsapps.sbpl.SbplXmlData$DownloadXmlTask.onPostExecute(SbplXmlData.java:103)
10-04 14:47:14.252: E/AndroidRuntime(32559): at com.jbrewsapps.sbpl.SbplXmlData$DownloadXmlTask.onPostExecute(SbplXmlData.java:1)
10-04 14:47:14.252: E/AndroidRuntime(32559): at android.os.AsyncTask.finish(AsyncTask.java:631)
10-04 14:47:14.252: E/AndroidRuntime(32559): at android.os.AsyncTask.access$600(AsyncTask.java:177)
10-04 14:47:14.252: E/AndroidRuntime(32559): at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:644)
10-04 14:47:14.252: E/AndroidRuntime(32559): at android.os.Handler.dispatchMessage(Handler.java:99)
10-04 14:47:14.252: E/AndroidRuntime(32559): at android.os.Looper.loop(Looper.java:137)
10-04 14:47:14.252: E/AndroidRuntime(32559): at android.app.ActivityThread.main(ActivityThread.java:5328)
10-04 14:47:14.252: E/AndroidRuntime(32559): at java.lang.reflect.Method.invokeNative(Native Method)
10-04 14:47:14.252: E/AndroidRuntime(32559): at java.lang.reflect.Method.invoke(Method.java:511)
10-04 14:47:14.252: E/AndroidRuntime(32559): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1102)
10-04 14:47:14.252: E/AndroidRuntime(32559): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:869)
10-04 14:47:14.252: E/AndroidRuntime(32559): at dalvik.system.NativeStart.main(Native Method)
10-04 14:47:14.282: I/Process(32559): Sending signal. PID: 32559 SIG: 9
最佳答案
如果您希望 SbplXmlData 成为一个 Activity ,您不能通过实例化它的新对象来启动它。您必须使用 Intent。
您确定要让 SbplXmlData 成为一个 Activity 而不仅仅是一个对象吗? (即跳过“扩展 Activity ”)
编辑:
只需将 AsyncTask 设为 SbplSplash 的子类,并将 loadPage() 设为上述 Activity 的成员函数即可。
关于Android startActivity() 导致空指针异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19188372/
我几天前开始进行android开发。我实现了一个 recylerview,在 recyclerview 适配器的 OnBindViewHolder 方法中,我在 recyclerview 项目上使用了
我已阅读文章https://github.com/Kotlin/anko/wiki/Anko-Commons-%E2%80%93-Intents . 我可以使用 startActivity(inten
我的 BroadcastReceiver 的 onReceive 函数中有以下代码。 public void onReceive(Context context, Intent intent) {
无论我做什么,我都无法开始新 Activity 。我重新下载了所有的Android SDK。我重新下载了Eclipse并再次安装了ADT插件 错误日志 09-16 17:53:51.537: W/II
我有以下 Activity ,当调用 startactivity() 时,应用程序被强制关闭,我已经搜索了几天失败的原因,有人可以帮助我吗? 应用程序: package com.example.dec
我是 Android 开发新手,在创建新 Activity 时遇到问题。 我想在开始之前使用我的 Activity 。例如,我已经尝试过: MyActivity menu = new MyActivi
在我的应用程序菜单类中,我想要一个按钮来启动 Activity 。这不适用于 StartActivity() 方法,因为它根本不是 Activity 的子类。那我该怎么办呢? 如果你读过《Beginn
我对 Android/Java 完全陌生。我正在尝试创建一个应用程序来连接到我的 TCP 服务器以从 mySQL 获取数据。 我有以下内容:MainActivity - 这是登录屏幕。输入用户名和密码
我刚刚开始 Android 开发,我被这段代码困住了: public class Home extends Activity { /** Called when the activity is
我有一个对话框提示用户确认删除。 在用户点击删除后弹出一个简单的警告。我需要重定向到一个新 Activity ,但在我有机会在确认警报上单击“确定”之前,startActivity 已触发。我在它搞砸
为什么要在服务中使用 startActivity()?如果我需要一个 Activity 必须调用一个 Activity ,如果我需要一个“延迟 Activity ”我必须使用通知。那么,我为什么要使用
引擎盖下发生了什么?这会以某种方式传递给操作系统,并且表明操作系统会找到正确的 Activity/Activity 并启动它?是否有在 Android 中运行的服务/库来处理这个?我正在尝试修改操作系
我有一个主类和一个单独的类 (OnClickBtn.java),我只想在其中保留按钮方法。我不想从主类而是从 OnClickBtn.java 开始新的 Activity 。 我已经运行了该程序,但它在
我正在学习 android 开发。这只是示例项目。所以我在按钮点击事件上创建了相同的 Activity (见代码)。在第一个 Activity 之后,我可以看到带有“qwerty”文本的新 Activ
我已经设置了一个从菜单按钮执行的 Activity 。 Activity 启动并短暂出现然后崩溃。我已将附加 Activity 添加到 list 文件。代码如下。我最近从 Eclipse 切换到 An
我试图从 OptionsMenu 启动一个 Activity ,但它没有启动。为什么? @Override public boolean onOptionsItemSelected(MenuItem
我创建了一个 activity( Activity 编号 1),其中包含 2 个 Views、一个 button 和一个 textView这两个 View 被共享到另一个activity(activi
截至今天上午,我已经尝试整合足够的知识来制作一个非常基本的应用程序来演示一个概念。这个想法是显示谷歌地图,用户按下他们想要添加标记的位置,然后弹出一个屏幕,他们可以在其中填写更多信息,然后当有人点击该
我正在制作一个绘图应用程序并想分享图像。但是,我遇到了 startActivity 部分的错误,其中错误写道 The method startActivity(Intent) is undefined
调用 startActivity 时,我一直收到 NPE,我认为这与我提供给 Intent 的上下文有关。当我从 Internet 获取 xml 数据时,我试图让启动画面保持不变。 splash Ac
我是一名优秀的程序员,十分优秀!