尽管我遵循了一些StackOverflow的提示,但我无法摆脱这个错误:
Android.app.Application无法转换为com.dostalgia.airshootingrogatti.GlobalClass
我在清单文件中插入了GlobalClass,正如S.O。
中已经说过的那样这是全球类代码:
public class GlobalClass extends AppCompatActivity {
private int StatoContatore1;
public int getStatoContatore1() {
return StatoContatore1;
}
public void setStatoContatore1(int statoContatore1) {
StatoContatore1 = statoContatore1;
}
}
这是调用并生成错误的活动(不是主要的)
package com.dostalgia.airshootingrogatti;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
public class Postazione1 extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_postazione1);
final GlobalClass globalVariable = (GlobalClass) getApplicationContext();
}
}
这是我的主要文件
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.dostalgia.airshootingrogatti">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".Postazione1"></activity>
<activity android:name=".GlobalClass"></activity>
</application>
</manifest>
我的目标是在不同的活动中使用和管理全局变量!
感谢您的回复!
答案 0 :(得分:2)
我的目标是在不同的活动中使用和管理全局变量!
欢迎小心使用static
字段。这不需要您尝试创建自定义Application
子类,因为您似乎正在尝试这样做。
话虽如此,如果你真的想做我认为你想做的事情:
第1步:GlobalClass
延长android.app.Application
,而非AppCompatActivity
步骤2:删除<activity>
GlobalClass
元素
步骤3:向清单中的android:name
元素添加<application>
属性,指向您的GlobalClass
类(例如android:name="com.dostalgia.airshootingrogatti.GlobalClass"
)