【发布时间】:2014-09-04 03:31:32
【问题描述】:
我是 android/java 开发的新手,所以我遇到了一些问题,这就是其中之一。 我想在getTickets 中使用recevieResults 返回的结果。我试图将 getTickets 设为静态,但它有
SharedPreferences pref = getApplicationContext().getSharedPreferences("MyPref", 0);
因此静态方法不允许 getApplicationContext。
public static void receiveResults(String result2) {
usersXML = result2;
}
public void getTickets() {
//this method users usersXML from above and needs to execute after receiving the results
}
【问题讨论】:
-
更改为
public static void getTickets(Context ctx)并将getApplicationContext()替换为ctx。你必须从你的活动/片段/无论如何传递Context。 -
如何从我的活动中传递上下文?很抱歉我缺乏知识,非常感谢您的帮助!
-
@user3785656 是否有任何具体原因让您将 receiveResults(..) 方法设为静态?
-
我将结果从另一个活动发送到这些方法所在的活动 - 如果我只是将结果变量设为静态,它不会以正确的顺序执行。希望这是有道理的!谢谢
-
不能从静态方法调用非静态方法。你必须改变其中之一......
标签: java android static-methods execution