【问题标题】:Cannot be cast the activity无法投射活动
【发布时间】:2023-05-30 02:33:01
【问题描述】:

我在投射活动时遇到了一点问题,当我单击菜单中的项目以打开活动时,应用程序崩溃并且 logcat 说它可以投射活动。问题出在这一行:

 _Sapp = (SecondActivityApp)getApplicationContext();

我认为是getApplicationContext,但我不确定。我该如何解决?

【问题讨论】:

  • 请发布整个堆栈跟踪,_Sapp 声明为什么类型?你想做什么?
  • 这是private SecondActivityApp _Sapp = null;的声明方式
  • SecondActivityApp 是如何定义的?它是一个上下文吗?
  • 我要打开带有 Intent 的活动吗?
  • 无?:(很重要

标签: android android-activity casting android-context


【解决方案1】:

如果您尝试从菜单启动一个新 Activity,您必须像从其他任何地方启动一个 Activity 一样使用 Intent。

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
    case R.id.action_testdone:
        Intent intent = new Intent(getApplicationContext(), SecondActivityApp.class);
        startActivity(intent);
        break;
    default:
        break;
    }
    return super.onOptionsItemSelected(item);
}

【讨论】:

  • 我相信你需要添加更多关于你正在尝试做什么的信息/细节,否则我不明白你的问题。
  • 我已经创建了一个带有 HomeActivity(这是我的 MainActivity)的应用程序,它可以“调用”另一个活动,正如我在第一篇文章中所写的那样。我认为只应对另一个应用程序中的活动并启动HomeActivity 单击菜单中的一个项目,可以去,但是当我单击该项目时,我得到了错误。所以我认为错误是我调用活动的方式,因为我的 logcat 中有一个错误“无法转换活动 HomeActivity”原因在 HomeActivity 的第 39 行,正是我之前写的代码。现在明白了吗?
  • 所以你正试图在另一个应用程序中启动一个 Activity?
最近更新 更多