我试图设置和全局变量,但我我的应用程序中添加以下行到我的AndroidManifest.xml全局变量类不工作
<application android:name=".MyApp"
android:icon="@drawable/icon"
android:label="@string/app_name">
我使用下面的代码,以及失败后:
类: package com.mynamecompany.datahelp;
import android.app.Application;
class MyApp extends Application {
private String myState;
public String getState(){
return myState;
}
public void setState(String s){
myState = s;
}
}
用法:
MyApp appState = ((MyApp)getApplicationContext());
String state = appState.getState();
Toast.makeText(getApplicationContext(), "My Value-" + state, Toast.LENGTH_SHORT).show();
appState.setState("Test");
Toast.makeText(getApplicationContext(), "My Value-" + appState.getState(), Toast.LENGTH_SHORT).show();
使用代码之前初始屏幕上的程序启动并立即错误可以进一步在程序被调用,在不同的活性的影响。
任何想法?
你可以发布错误日志吗? – 2010-08-16 15:49:46
为什么不把它变成一个Singleton类而不是使用Android应用程序对象(我个人认为它就像垃圾一样)?看看这篇文章的底部,看看我指的是什么(附录)。 http://androidworkz.com/2010/08/13/smart-list-adapter-tutorial-singleton-oberservable-list-objects-and-how-they-can-improve-your-app/ – androidworkz 2010-08-16 16:58:34
我想如果你使用Observer,你应该在你的onDestroy()中调用object.deleteObserver(this),如果它是你的应用程序中没有持久生命的Activity。我也删除onPause()中的观察者,然后在onResume()中重新添加object.addObserver(this)。 – androidworkz 2010-08-16 17:10:01