我有以下类(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 中,您应该声明 Mediator
是 application
类,以便它被实例化为应用程序。
例如,
<application
android:name="dk.AnApp.app.Mediator"
...
这会处理异常,但不能保证您的 Mediator
类存在是有充分理由的(正如 CommonsWare 在评论中指出的那样)。
关于java - 无法将应用程序转换到类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22326725/