我已经能够在新线程中调用http post进程,但是通过post发送的变量根据另一个变量posttype的值而变化,posttype是在运行此线程之前设置的。
确定通过帖子发送的值的变量设置为:public String posttype = "load";
在新线程运行之前,posttype设置为“load”或“unload”。根据这些值,确定通过邮寄发送的数据。
我使用的新线程函数来自:http://android-developers.blogspot.com/2009/05/painless-threading.html
我使用上面链接中runnable显示的SECOND函数。
在第一个run()
内,我通过http发送变量。在第二个run()
内部,我解析返回的变量。
问题是:我无法访问posttype的值,并且总是选择新线程函数中的else
语句,因为if
语句无法访问变量posttype。
如何使变量posttype
真正全局或可由新线程使用?
谢谢,
答案 0 :(得分:1)
如果我做对了,你就无法访问变量,因为它不是最终的。如果是这样,您可以获取与posttype相同类型的最终变量,为其赋值并在第二次运行中使用它。 为了更清楚,请查看我对此问题的回答:final variable issue in an inner class
在这种情况下,侦听器在适用相同逻辑的情况下运行。