我在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函数中显示变量,它就可以工作。
那么请问我如何在完成函数之外显示变量?
答案 0 :(得分:0)
由于getFirstInBackground是一个异步调用,当你调用它时,程序会继续,这就是为什么你的变量在调用end之前没有初始化的原因。您应该考虑包含代码以在完成回调的屏幕上显示字符串。