Reputation: 8068
I am creating an Application Singleton for sharing data among activities.
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; }
}
MainActivity
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
}
Error: android.app.Application cannot be cast to com.example....AppData
Upvotes: 1
Views: 1058
Reputation: 56
You need to register your application class in manifest and try it
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();
}
}
Upvotes: 0
Reputation: 4235
Did you forget to define the application in Manifest.xml
?
You need something like:
<application
android:name="package.AppName"
...
</application>
Upvotes: 7