0

谁能帮我解释一下为什么函数getInBackground没有运行我想从 android 的 parse 中获取数据。这是我的类,它调用了类中fetchData(String themeId)parseManipulate函数

public class selectTheme extends Activity implements OnClickListener{

Button gBtn;
Button rBtn;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.themeselection);

    String themeid = "ECGo4oSKgU";
    ParseManipulate pm = new ParseManipulate();

    pm.fetchData(themeid);


/*      gBtn = (Button)findViewById(R.id.greentheme);
    rBtn = (Button)findViewById(R.id.redtheme);

    gBtn.setOnClickListener(this);
    rBtn.setOnClickListener(this);
*/  
}

这是我在 ParseManipulate 类中的 fetchData() 函数。编译器不运行函数 getInBackground() 函数并在函数右括号的末尾跳转

public class ParseManipulate {

    public void fetchData(String ThemeId)
    {

    ParseQuery<ParseObject> pq = ParseQuery.getQuery("testThemes");

    pq.getInBackground(ThemeId, new GetCallback<ParseObject>(){

        @Override
        public void done(ParseObject object, ParseException e) {
            // TODO Auto-generated method stub
            if(e == null)
            {
            //  value = object.getString("ThemeName");
                Log.d("ParseObject", ""+object.getString("ThemeName"));
            }
            else
            {
            //  Toast.makeText(getApplicationContext(), "error in data fetching", Toast.LENGTH_SHORT).show();
            }
        }

    });
    }
}
4

1 回答 1

0
Instead of      

 Log.d("ParseObject", ""+object.getString("ThemeName"));

像这样使用它

Log.d("ParseObject", ""+object.fetchIfNeeded().getString("ThemeName"));
于 2013-10-14T05:51:28.927 回答