java - 无法将应用程序转换到类

标签 java android

我有以下类(class):

    public class Mediator extends Application
{
    private HTTPSender sender;

    public Mediator()
    {
        sender = new HTTPSender();
    }

    public void sendMessage()
    {

    }
}

现在在我的 Activity 中,我执行以下操作:

public class Contact extends ActionBarActivity {
    private Mediator mediator;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        this.mediator = (Mediator) getApplication();
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_contact);

        if (savedInstanceState == null) {
            getSupportFragmentManager().beginTransaction()
                    .add(R.id.container, new PlaceholderFragment())
                    .commit();
        }
    }
}

当我运行我的应用程序时,我得到以下信息:

  Caused by: java.lang.ClassCastException: android.app.Application cannot be cast to dk.AnApp.app.Mediator

谁能告诉我为什么我无法将它转换为扩展应用程序的类?

最佳答案

在您的 list 中,您应该声明 Mediatorapplication 类,以便它被实例化为应用程序。

例如,

<application
    android:name="dk.AnApp.app.Mediator"
    ...

Reference

这会处理异常,但不能保证您的 Mediator 类存在是有充分理由的(正如 CommonsWare 在评论中指出的那样)。

关于java - 无法将应用程序转换到类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22326725/

相关文章:

java - 自定义异常类不捕获异常

android - 启用可访问性时使超链接可点击

android - 与编辑文本输入类型相关的问题

android - 在 LinearLayout 中更改圆圈的颜色

具有空字段的 Java 比较器

java - CentOS 上 Apache FOP 中的字体无限扫描

java - UDPServer没有收到UDPClient发送的数据

javascript - 使用 Javascript 和 REST 登录

Android:Windows 中的 NDK 设置

android - 虽然编辑文本是集中的相对布局在 android 中排在最前面