【问题标题】:Android - AsyncTask inside Fragment doesn't work in MarshmallowAndroid - Fragment 中的 AsyncTask 在 Marshmallow 中不起作用
【发布时间】:2017-07-28 03:14:21
【问题描述】:

我创建了一个 AsyncTask 来获取分数。它显示一秒的进度对话框,然后消失。 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();
    }

帮助?

【问题讨论】:

    标签: android android-fragments android-asynctask


    【解决方案1】:

    使用这个 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
                    }
                }
            }
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多