我想使用RoboGuice创建一个单例对象,但是我得到了null异常。我不知道我的代码有什么问题。RoboGuice有什么问题
@Singleton
public class SessionService {
private static Session session;
public Session getSession() {
if (session == null){
session = new Session();
}
return session;
}
}
-
public class ChannelManager {
@Inject SessionService sessionService;
public String getName(){
return sessionService.getSession().getName();
}
}
public class MainActivity extends RoboActivity{
@InjectView(R.id.button1) Button btn;
@Inject SessionService a;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
a.getSession().setName("dsadas");
Log.i("A","NEW: "+ a.getSession().getName());
Log.i("A","NEW NAME: "+ new ChannelManager().getName());
}
我得到的 “新ChannelManager()的getName()。” 行空例外。那有什么问题? 在此先感谢。
我明白了,我做到了,它工作!谢谢!我首选使用@Inject。所以,我在SessionService附近声明了一个带注释的变量。 – nesimtunc