3

我有一个非常奇怪的问题,我一生都无法弄清楚。我有一个即将完成的应用程序。我已经开始在不同版本的 Android 和模拟器中的不同屏幕尺寸/密度上对其进行测试。在我使用 Android 3.1 和 3.2 (Honeycomb) 之前,一切正常。IllegalStateException: No Activity每次应用程序启动时我都会得到一个。我首先认为这是我的应用程序,所以我查看了堆栈跟踪,并没有提到我的应用程序中的任何方法或类。因此,我在我的应用程序支持的所有 Android 版本上进行了尝试,它适用于除 Honeycomb 之外的所有版本。我用谷歌搜索了 Honeycomb 和IllegalStateException: No Activity并没有找到任何东西。于是我看了看屏幕尺寸,发现 Honeycomb 的唯一皮肤是 WXGA。我检查了我所有的drawables,我使用一个用于ldpi、mdpi、hdpi和xhdpi。但以防万一我把我的应用程序需要的所有drawables都扔到了默认的drawable文件夹中,但仍然遇到同样的问题。我正在为所有其他资源使用默认文件夹,所以我知道这不是原因。然后我尝试了一个较小的屏幕尺寸,令我惊讶的是它起作用了。所以我随后在 Android 4.1 上对其进行了测试,并使用 1280x800 和 160 的密度来模拟 WXGA。它工作得很好。所以它特定于 WXGA(1280x800 mdpi) 和 Honeycomb。我调试并单步执行了我的代码,它实际上成功地通过了onCreate(). 我认为它实际上经历了onCreate()两次。我没有压倒onResume()一切Activity. 我在谷歌的土地上花了更多的时间,但我找不到任何与我正在经历的事情有关的东西。以防万一它在这里有帮助是我的onCreate()。如果有人能对此有所了解,我将永远欠你的债。

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main_activity);

    mResources = getResources();
    mDialog = new ProgressDialog(this);

    mUrl = mResources.getString(R.string.rate_url);
    mEmailSubject = mResources.getString(R.string.email_subject);
    mChoose = mResources.getString(R.string.email_choose);
    mSendTo = mResources.getString(R.string.email_send_to);
    mLoadingPlaces = mResources.getString(R.string.places_loading);
    mAmazonAppStore = mResources.getString(R.string.amazon_app);

    mButton1 = (Button) findViewById(R.id.tip_btn);
    mButton2 = (Button) findViewById(R.id.preference);
    mButton3 = (Button) findViewById(R.id.rate_btn);
    mButton4 = (Button) findViewById(R.id.feedback_btn);

    // Load the font and the set the font for each Button.
    Typeface tf = Typeface.createFromAsset(getAssets(),"fonts/ArchitectsDaughter.ttf");

    mButton1.setTypeface(tf);
    mButton2.setTypeface(tf);
    mButton3.setTypeface(tf);
    mButton4.setTypeface(tf);
}
4

1 回答 1

1

好吧,只是出于好奇,我回去再试一次。我打算安装它并多次打开它,看看它是否在任何时候都有效。令我惊讶的是,它每次都有效!!!!!!!我已经玩了几分钟卸载并重新安装它并运行它。这很奇怪,因为我知道我之前已经在 Honeycomb 上测试过它并且它在过去有效。所以我不知道这是否只是模拟器中的一个小故障,但现在看起来还可以。我只是希望我有一个具有这种配置的设备来测试它。因此,如果有人对可能导致此问题的原因有任何想法或建议,我愿意调查每一个以确保确定。

于 2012-09-12T04:14:14.117 回答