gpt4 book ai didi

java - Android 应用程序无法在模拟器中运行

转载 作者:行者123 更新时间:2023-11-30 04:52:39 24 4
gpt4 key购买 nike

我的所有应用程序都无法在模拟器中运行。我正在运行 Ubuntu 9.10,每次我尝试访问我的用户界面时,应用程序都会崩溃。我得到的只是“抱歉!应用程序......意外停止”。对于每个应用程序,都会发生这种情况。

package com.mohit.helloandroid;

import android.app.TabActivity;
import android.content.Intent;
import android.content.res.Resources;
import android.os.Bundle;
import android.widget.TabHost;

public class HelloAndroid extends TabActivity {

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

Resources res = getResources(); //Resource object to get drawables
TabHost tabHost = getTabHost(); //The activity tabhost
TabHost.TabSpec spec; //Reusable tab spec
Intent intent;

intent = new Intent().setClass(this, HelloAndroid.class);

spec = tabHost.newTabSpec("artists").setIndicator("Artists", res
.getDrawable(R.drawable.tab_artists))
.setContent(intent);
tabHost.addTab(spec);
}
}

我不知道这段代码怎么可能会抛出这样的消息。

最佳答案

你至少有一些古怪的事情在发生,其中任何一个都可能导致炸弹。

您首先调用:

super.onCreate(savedInstanceState);
setContentView(R.layout.main);

但是您已将 TabActivity 子类化,当您调用 super.OnCreate 时它会设置自己的内容 View 。根据您的代码,我猜您的 R.layout.main 可能是空的。摆脱 setContentView 调用。

接下来你打电话:

intent = new Intent().setClass(this, HelloAndroid.class);

您尝试通过传递本身是 tabHost 的此类来创建在选项卡中显示的 Intent ,并将在调用其 onCreate 时再次尝试执行此操作。如果 android 让这种情况发生,你刚刚创建了一个无限递归调用,它会在内存不足时使手机崩溃。更有可能的是,我认为 Android 会因某些异常而爆炸,或者操作系统只会破坏进程。

从更简单的开始。在您的资源中创建几个基本 View 以显示在您的选项卡中。

关于java - Android 应用程序无法在模拟器中运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2777042/

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