'u genişleten bir sınıftan gelen yöntemden değer döndüremiyor Benim yöntem checkInvited()
yönteminden bir boole döndürmeye çalışıyorum. Bu yöntem, AsyncTask<Void,Void,String>
'u genişleten bir sınıf içerir. Bu tam yöntemAsyncTask
public boolean checkInvited(String player_id){
final String g_id = game_id;
final String fr_id = player_id;
class CheckInvited extends AsyncTask<Void, Void, String>{
boolean invited;
ProgressDialog loading;
@Override
protected void onPreExecute(){
super.onPreExecute();
loading = ProgressDialog.show(InviteFriends.this,"Checking Invite Status","Please Wait...",false,false);
}
@Override
protected void onPostExecute(String s){
super.onPostExecute(s);
loading.dismiss();
JSON_STRING = s;
if (s.trim().equals("0")){
invited = false;
} else {
invited = true;
}
}
@Override
protected String doInBackground(Void... params){
HashMap<String, String> hashMap = new HashMap<>();
hashMap.put(Config.KEY_INVITES_GAME_ID, g_id);
hashMap.put(Config.KEY_INVITES_PLAYER_ID, fr_id);
RequestHandler rh = new RequestHandler();
String s = rh.sendPostRequest(Config.URL_CHECK_INVITED, hashMap);
return s;
}
}
CheckInvited ci = new CheckInvited();
ci.execute();
return ci.invited;
}
Bu yöntem hangi kişilerin mySql veritabanı php ile sendPostRequest()
önceden tanımlanmış bir yöntem çağırır olduğunu. Benim sorunum doğru veya yanlış dönmek checkInvited()
yöntemi oluyor. Şu anda sonuçların en az birinin doğru olması gerektiğini bildiğim zaman yanlış geri dönecektir.
Yardımlarınız için şimdiden teşekkür ederiz.
AsyncTask'ın tanımı, zaman uyumsuz olarak çalışmasıdır. AsyncTask'ın –
'u bile bitirmeden (belki de başladı) önce yanlış bir şekilde dönüyorsunuz, lütfen bir metodun içinde sınıf tanımlamayın ... – hehe