公共虚空内部的指令完成Parse是Local,android

时间:2015-01-25 17:42:29

标签: java android parse-platform

我在Android中遇到一个String变量的问题,我无法将String变量设为全局。

这是我的代码:

 String nom;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_mescontacts);
     ParseQuery<ParseObject> query2 = ParseQuery.getQuery("test"); 
                     query2.whereEqualTo("phone", "0624982192");
                     query2.getFirstInBackground(new GetCallback<ParseObject>() 

                     {

                       public void done(ParseObject object, ParseException e) 
                       {

                         if(e == null)
                         {

                        nom = "hhhhh";



                         }
                          Toast.makeText(Mescontacts.this, "nom : "+nom, Toast.LENGTH_SHORT).show();

当我在屏幕上显示时,字符串变量“nom”的值为null,但是如果我在done函数中显示变量,它就可以工作。

那么请问我如何在完成函数之外显示变量?

1 个答案:

答案 0 :(得分:0)

由于getFirstInBackground是一个异步调用,当你调用它时,程序会继续,这就是为什么你的变量在调用end之前没有初始化的原因。您应该考虑包含代码以在完成回调的屏幕上显示字符串。