2017-07-28 9 views
-1

スコアを取得するためにAsyncTaskを作成しました。 split-secの進行状況を表示してから消えます。 doInBackgroundメソッドは決して実行されません。このタスクはフラグメント内で呼び出されます。Android - AsyncTask inside FragmentはMarshmallowで動作しません。

private class GetScore extends AsyncTask<String,String,String> { 

     @Override 
     protected void onPreExecute() { 
      final ProgressDialog show = progressDialog.show(getActivity(), "", yourName); 
      super.onPreExecute(); 
     } 


     @Override 
     protected String doInBackground(String... args) { 
      scoreMap = ScoreCalc.getEngScore(yourName); 
//   Toast.makeText(LoveActivity.this, engageMap.toString(), Toast.LENGTH_SHORT).show(); 
      return null; 
     } 


     @Override 
     protected void onPostExecute(String img) { 
     } 
    } 

。 。 。 。 。 。 。

private void confirmYes() { 
    String s =mEditText.getText().toString(); 
     if(s.equals("")) 
      return; 
     new GetScore().execute(); 
    } 

ヘルプ?

答えて

0

あなたのクラスの代わりにこのasynctaskクラスを使用してください。

public class GetScore extends AsyncTask<String, Void, String> 
{ 
    String method; 
    @Override 
    protected String doInBackground(String... arg0) 
    { 
     method = arg0[0]; 
     return getData.callWebService(arg0[0], arg0[1]); 
    } 
    protected void onPostExecute(String xmlResponse) 
    { 
     if(xmlResponse.equals("")) 
     { 
      try{ 
       if(progDialog!=null && progDialog.isShowing()){ 
        progDialog.dismiss(); 
       } 
      }catch(Exception ex){} 
      Toast. 
     } 
     else 
     { 
      if (method.equals("GetSeatArrangementDetails_STax")) 
      { 

       MethodName(xmlResponse, "ResponseTag"); 

       try{ 
        if(progDialog!=null && progDialog.isShowing()){ 
         progDialog.dismiss(); 
        } 
       }catch(Exception ex){} 

       //What Ever Want to Do 
       } 
      } 
     } 
    } 
} 
関連する問題