getApplicationContext()无法强制转换Android

Gre*_*ory 0 java singleton android casting

我正在创建一个Application Singleton,用于在活动之间共享数据.

AppData (Singleton)

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; }

}
Run Code Online (Sandbox Code Playgroud)

主要活动

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

    }
Run Code Online (Sandbox Code Playgroud)

错误: android.app.Application cannot be cast to com.example....AppData

pez*_*pez 5

你忘了定义应用程序Manifest.xml吗?

你需要这样的东西:

 <application
    android:name="package.AppName"
    ...
 </application>
Run Code Online (Sandbox Code Playgroud)