0

私のAndroidアプリケーションでは、htmlページからjavaページに1つのjavascriptメソッドを呼び出しました。

 this.start = function () 
 {       
     try 
     { 
          Mynamespace.myapi.getvalue("myvalue", { 
            onSuccess: function (data) 
            { 
               value= JSON.parse(data);
               alert("called"); 
             }, 
             onFailure: function (error) { } 
          }); 
      } 
      catch (err) { }
      if (value== null) { value= new Object(); 
    };

上記では、getvalueメソッドがJavaクラスで呼び出され、いくつかの値を返しましたが、OnSuccess / OnFailure内の値を取得する前に、次の行が呼び出されます。How to wait the method up to the callback is called?

if (value== null) { value= new Object(); 
4

2 に答える 2

0
private class LongOperation extends AsyncTask<String, Void, String> 
{
    protected void onPreExecute() 
    { 
        progressDialog = new ProgressDialog(activity.this); 
        progressDialog.setTitle("Processing...");
        progressDialog.setMessage("Please wait...");
        progressDialog.setCancelable(true);
        progressDialog.show();
    }

    protected String doInBackground(String... params) 
    {
        try 
        {
            //Getting data from server
        }
        catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }
    protected void onPostExecute(String result) 
    {
        progressDialog.dismiss();
    }
  }

これを呼び出す方法

ProgressDialog progressDialog;
LongOperation mytask = null;
mytask = new LongOperation();
mytask.execute();
于 2013-01-19T07:19:14.563 に答える
0

クエリについてさらに分析しました。最後に私は解決策を得ました。String that i have loaded with webview was having more single quotes so unable to load with webview. したがって、成功失敗コールバックを呼び出す代わりに、次の行が呼び出されます。

これで、Java クラスで単一引用符「\'」を「\'」に置き換えました。正常に動作しています。:-)

于 2013-02-11T04:00:03.120 に答える