2015-11-28 75 views
0

不能的findInBackground。安卓

public class Chew_Count_Graph_morning extends Activity {  

float lc, rc; 

public float countvalue(int month, int day) { 
    ParseQuery<ParseObject> query = ParseQuery.getQuery("Data"); 
    query.whereEqualTo("username", mychild); 
    query.whereEqualTo("MorningNoonEvening", "morning"); 
    query.whereEqualTo("Month", month); 
    query.whereEqualTo("Day", day); 
    query.findInBackground(new FindCallback<ParseObject>() { 
     public void done(List<ParseObject> data, ParseException e) { 
      if (data.isEmpty() == false) { 
       lc = data.get(0).getInt("LeftChew"); //lc = 50 
       rc = data.get(0).getInt("RightChew"); //rc = 100 
      Log.d("the inner value is ", " " +(lc+rc));//inner value is 150 
      } else { 
       lc = 0; 
       rc = 0; 
      } 
     } 
    }); 
    Log.d("return ", " " +(lc+rc)); // return : 0 
    return lc+rc; 
} 
} 

成功后返回总和我怎样才能得到返回值150(这是LC + RC)?

回答

0

修正代码在这里:

public class Chew_Count_Graph_morning extends Activity { 

float lc, rc; 

public float countvalue(int month, int day) { 
ParseQuery<ParseObject> query = ParseQuery.getQuery("Data"); 
query.whereEqualTo("username", mychild); 
query.whereEqualTo("MorningNoonEvening", "morning"); 
query.whereEqualTo("Month", month); 
query.whereEqualTo("Day", day); 
query.findInBackground(day, new GetCallback<ParseObject>() { 
    public void done(ParseObject data, ParseException e) { 
     if (data.isEmpty() == false) { 
      lc = data.get(0).getInt("LeftChew"); //lc = 50 
      rc = data.get(0).getInt("RightChew"); //rc = 100 
     Log.d("the inner value is ", " " +(lc+rc));//inner value is 150 
     } else { 
      lc = 0; 
      rc = 0; 
     } 
    } 
}); 

Log.d("return ", " " +(lc+rc)); // return : 0 
return lc+rc; 
} 
} 

它宣布全球所以不必使用 “最终” 被声明为final

+0

但是,LC和RC不能改变。有没有办法改变lc和rc声明最终的? –

+0

测试它并让我知道 – johnrao07