【问题标题】:java.lang.ClassCastException: android.app.Application cannot be cast to app.main.MainActivity [duplicate]java.lang.ClassCastException:android.app.Application 无法转换为 app.main.MainActivity [重复]
【发布时间】:2016-10-21 05:41:02
【问题描述】:

我遇到了这个例外:

java.lang.ClassCastException: android.app.Application 不能被强制转换 到 app.Main.MainActivity

这是问题所在的代码:

private Context mContext;

public Chronometer(Context context) {
        this.mContext = context;
    }

     ((Main)mContext).updaterTimerText(String.format("%02d:%02d:%02d:%03d" , hours , minutes , seconds , millis));

我正在制作一个 Chronometer 应用程序,如果有帮助的话...

有什么想法吗?

【问题讨论】:

  • @Ironman 但问题是我阅读了所有这些问题/答案,但它们对我的情况没有帮助
  • 请在此处分享您的更多错误日志
  • 您尝试将 Application 对象“mCcontext”强制转换为 Activity 对象“Main”,这会导致 ClassCastException。因此,请向我们展示您在其中实例化 Chronometer(Context context) 类的代码。
  • @Vall0n 里面有mContext的所有代码
  • @ShaileshLimbadiya 这是我的错误日志:java.lang.ClassCastException: android.app.Application 无法在 app.Main.Chronometer.run(Chronometer.java:46 ) 在 java.lang.Thread.run(Thread.java:818)

标签: java android


【解决方案1】:

似乎您正在创建 Chronometer 类,然后传递 Application 然后 Activity。检查何时实例化对象

【讨论】:

  • 你说得对,但我应该在哪里“实例化”该对象?
  • 这个问题太笼统了。这个想法是你应该在需要它之前实例化它
【解决方案2】:

您可能想检查您在哪里实例化 Chronometer 对象,如果您希望它始终采用 Main 对象,最好显式传入其中一个而不是 Context。可能是您无意中获取了应用程序上下文而不是活动上下文,这可能有助于避免问题并帮助找出问题发生的位置。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-02-04
    • 2018-11-07
    • 2017-07-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多