2017-06-16 11 views
1

私はvolleyライブラリを使用してログインしようとしています。 SharedPrefrencesを使用してUser name、email、mobileを格納しました。私が正しいモバイル番号を使用しているとき。パスワード。正常にログインするためにToastが生成されていますが、ログインフラグメントをDashboardアクティビティに移動できません。 "真"、 "メッセージ": "ログインSucessfully"、 "ユーザー":[{ここでVolleyライブラリのIntentを使用してフラグメントから次のアクティビティに移動できません

は、loginメソッドのコード

private void login(String login_url, final String getLoginMob, final String getLoginPwd) { 

    //Progress Dialog code 
    final Dialog dialog =new Dialog(getActivity()); 
    dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); 
    dialog.setContentView(R.layout.loading_dialog); 
    dialog.setCancelable(false); 
    dialog.show(); 

    RequestQueue queue = Volley.newRequestQueue(getActivity()); 
    StringRequest postrequest = new StringRequest(Request.Method.POST, login_url, new Response.Listener<String>() { 


     @Override 
     public void onResponse(String response) { 
      dialog.dismiss(); 

      try { 
       JSONObject jsonObject = new JSONObject(response); 

       if (jsonObject.getBoolean("success") == true) { 
        Toast.makeText(getActivity(),jsonObject.getString("message"),Toast.LENGTH_LONG).show(); 

        JSONObject jsonObjectInfo=jsonObject.getJSONObject("User"); 
        sharedPrefrence_main.setName(jsonObjectInfo.getString("name")); 
        sharedPrefrence_main.setEmail(jsonObjectInfo.getString("email")); 
        sharedPrefrence_main.setMobile_no(jsonObjectInfo.getString("mobile")); 

        Intent intent=new Intent(getActivity(), Dashboard.class); 
        startActivity(intent); 


       } else if (jsonObject.getBoolean("success") == false) { 
        Toast.makeText(getActivity(), jsonObject.getString("message"), Toast.LENGTH_LONG).show(); 
       } 
       else 
        Toast.makeText(getActivity(),"Entries are wrong",Toast.LENGTH_LONG).show(); 


      } catch (JSONException e) { 
       e.printStackTrace(); 
      } 
     } 
    }, new Response.ErrorListener() { 
     @Override 
     public void onErrorResponse(VolleyError error) { 
      error.printStackTrace(); 
      dialog.dismiss(); 
     } 
    }){ 
     @Override 
     protected Map<String, String> getParams(){ 
      Map<String,String> param=new HashMap<String, String>(); 
      param.put("mobile_email", getLoginMob); 
      param.put("password", getLoginPwd); 
      return param; 

     } 
    }; 

    int socketTimeout = 30000; 
    RetryPolicy policy = new DefaultRetryPolicy(socketTimeout, 
      DefaultRetryPolicy.DEFAULT_MAX_RETRIES, 
      DefaultRetryPolicy.DEFAULT_BACKOFF_MULT); 
    postrequest.setRetryPolicy(policy); 
    queue.add(postrequest); 

} 

JSONレスポンス

{ "成功" であります"名前": "satishkanaujiya"、 "電子メール": "***** @ gmail.com"、 "モバイル": "901589 ****"}]}

+0

あなたが()。startActivity(意図)私が試したが、助けていなかった –

+0

@Sandeepdhiman getActivityでそれを行う必要があります。 – Codelover

答えて

0

これは配列であり、オブジェクトとして扱っていました。最後に、コードを守って間違いを修正しました。

   JSONArray jsonArrays=jsonObject.getJSONArray("User"); 
       for(int i=0;i<jsonArrays.length();i++){ 
       JSONObject jsonObject1=jsonArrays.getJSONObject(i); 
        sharedPrefrence_main.setName(jsonObject1.getString("name")); 
        sharedPrefrence_main.setEmail(jsonObject1.getString("email")); 
        sharedPrefrence_main.setMobile_no(jsonObject1.getString("mobile")); 

       } 
0
runOnUiThread(new Runnable() { 
     @Override 
     public void run() { 
      //Type your Intent code here 
     } 
    }); 

OR

LocalBraodcastManagerを使用: このリンクを使用してください:how to use LocalBroadcastManager?

関連する問題