问题描述
我正在创建一个Application Singleton,用于在活动之间共享数据。
AppData (单人)
import android.app.Application;
public class AppData extends Application {
private String data;
public String getData(){ return this.data;}
public void setData(String data){this.data = data; }
}
主要活动
public class SectionListExampleActivity extends Activity {
AppData appData;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.news_list_layout);
appData = (AppData) getApplicationContext(); // error here
}
错误: android.app.Application cannot be cast to com.example....AppData
1楼
您是否忘了在Manifest.xml
定义应用程序?
您需要类似:
<application
android:name="package.AppName"
...
</application>
2楼
您需要在清单中注册您的应用程序类并尝试
public class SectionListExampleActivity extends Activity {
AppData appData;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.news_list_layout);
appData = (AppData) getApplication();
}
}