Android - Fragment中的AsyncTask在Marshmallow中不起作用

时间:2017-07-28 03:14:22

标签: android android-fragments android-asynctask

我创建了一个AsyncTask来获取分数。它显示了分裂秒的progressdialog然后消失。 doInBackground方法永远不会执行。此任务在片段内调用。

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();
    }

帮助?

1 个答案:

答案 0 :(得分: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("methodname"))
            {

                MethodName(xmlResponse, "ResponseTag");

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

                //What Ever Want to Do
                }
            }
        }
    }
}