2016-12-21 6 views
-1

jsonなどでデータを送信しているonClickListenerがありますが、それ以降は新しいアクティビティを開きます。ここでは、コードの一部です:エラーが発生していない新しいアクティビティ

btnEnter.setOnClickListener(new OnClickListener() { 

      @Override 
      public void onClick(View v) { 
       // TODO Auto-generated method stub 
       onLoginAttempt(); 
      } 
     }); 
     /*txtInvite.setText(Html.fromHtml(PreferenceConnector.readString(aiContext, 
       PreferenceConnector.INVITETEXT, "")));*/ 

     HashMap<String, String> hash = new HashMap<String, String>(); 
     hash.put("user_id", PreferenceConnector.readString(aiContext, PreferenceConnector.USERID,"")); 
     hash.put("first_name", PreferenceConnector.readString(aiContext, PreferenceConnector.FIRST_NAME,"")); 
     hash.put("last_name", PreferenceConnector.readString(aiContext, PreferenceConnector.LAST_NAME,"")); 
     hash.put("email",PreferenceConnector.readString(aiContext, PreferenceConnector.PAYPAL_EMAIL,"")); 
     hash.put("offer_id",getArguments().getString("offerid")); 



     //callWebService(GlobalVariables.REDEEM_OFFER, hash); 

    } 
} 

String strUserName, strPassword,strEmail; 
private void onLoginAttempt() { 
    int response = 0; 
    response  = gd.emptyEditTextError(
      new EditText[]{first_nameEdit,last_nameEdit,email_editText}, 
      new String[]{ getResources().getString(R.string.error_register_empty_first_name), 
        getResources().getString(R.string.error_register_empty_last_name), 
        getResources().getString(R.string.error_register_empty_email) 
      }); 

    if (! GlobalData.isEmailValid(email_editText.getText().toString().trim())) { 
     response++; 
     email_editText.setError(getResources().getString(R.string.error_login_invalid_email)); 
    } 

    if(response == 0) { 
     strUserName   = first_nameEdit.getText().toString().trim(); 
     strPassword   = last_nameEdit.getText().toString().trim(); 
     strEmail   = email_editText.getText().toString().trim(); 


     /*HashMap<String, String> hash = new HashMap<String, String>(); 
     hash.put("user_id", PreferenceConnector.readString(aiContext, PreferenceConnector.USERID,"")); 
     hash.put("first_name", PreferenceConnector.readString(aiContext, PreferenceConnector.FIRST_NAME,"")); 
     hash.put("last_name", PreferenceConnector.readString(aiContext, PreferenceConnector.LAST_NAME,"")); 
     hash.put("email",PreferenceConnector.readString(aiContext, PreferenceConnector.PAYPAL_EMAIL,"")); 
     hash.put("offer_id",getArguments().getString("offerid"));*/ 



     //callWebService(GlobalVariables.REDEEM_OFFER, hash); 

     String[] keys  = {"user_id","first_name", "last_name", "email", "offer_id"}; 
     String[] value  = {PreferenceConnector.readString(aiContext, PreferenceConnector.USERID,""),strUserName, strPassword, strEmail,getArguments().getString("offerid")}; 

     HashMap<String, String> hash = new HashMap<String, String>(); 
     for (int i = 0; i < keys.length; i++) { 
      System.out.println(keys[i]+ "......." + value[i]); 
      hash.put(keys[i], value[i]); 
     } 

     if (gd.isConnectingToInternet()) { 
      callWebService(GlobalVariables.REDEEM_OFFER, hash); 
     }else { 
      GlobalData.showToast(getResources().getString(R.string.error_no_internet), aiContext); 
     } 
    } 
} 

private void callWebService(String postUrl, HashMap<String, String> hash) { 
    WebService webService = new WebService(aiContext, "", postUrl, hash, this, WebService.POST); 
    webService.execute(); 
} 

@Override 
public void onWebServiceActionComplete(String result, String url) { 
    System.out.println(result+".........jsonresponse....."+url); 

    try { 
     JSONObject json = new JSONObject(result); 
     String str_RESULT = json.getString(TAG_RESULT); 
     String str_Message = json.getString(TAG_MESSAGE); 

     if (str_RESULT.equals("YES")) { 
      GlobalData.showToast(getResources().getString(R.string.message_redeem_success), aiContext); 
      JSONObject Data_obj   = json.getJSONObject(TAG_DATA); 
      String str_user_points  = Data_obj.getString(DailyRewardFragment.TAG_USER_POINTS); 


      PreferenceConnector.writeInteger(aiContext, PreferenceConnector.WALLETPOINTS, 
        Integer.parseInt(str_user_points)); 
      FragEarnCredits.onUpdateView(aiContext); 
      ViewRewardsFragment.onUpdateView(aiContext); 
      InviteFriendsFragment.onUpdateView(aiContext); 
      ConnectSocialFragment.onUpdateView(aiContext); 


     } else { 
      GlobalData.showToast(str_Message, aiContext); 
     } 
    } catch (JSONException e){ 
     e.printStackTrace(); 
    } 


} 
private void switchBack() { 
    if (getActivity() == null) 
     return; 
    if (getActivity() instanceof ActivityMainWallet) { 
     ActivityMainWallet mActivity = (ActivityMainWallet) getActivity(); 
     mActivity.customizeActionBar(); 
     mActivity.switchBack(); 
    } 
    Intent i = new Intent(getApplicationContext(),Zamawiam.class); 
    startActivity(i); 
} 

} 

私は私が実装されたオープンする新しいアクティビティ:

Intent i = new Intent(getApplicationContext(),Zamawiam.class); 
startActivity(i); 

どこに問題がありますか?データが送信され、私は成功トーストと何も得ていない。みんな助けて!

+0

'getApplicationContext()'の代わりに 'CurrentActivity.this'を渡します。 'インテントi =新しいインテント(CurrentActivity.this、Zamawiam.class); startActivity(i); '新しいアクティビティを開始するためにアプリケーションコンテキストが機能していません。 –

+0

'getActivity()'は何を返しますか? 'if(getActivity()== null) return;' –

+0

あなたのアプリの 'AndroidManifest.xml'ファイルに' Zamawiam'アクティビティを定義しましたか? –

答えて

4

あなたがペーストしたコードからは、別の場所で呼び出されない限り、アクティビティを開始する場所であるswitchBack()メソッドを呼び出さないようです。

ブレークポイントを設定してアプリをデバッグすることで確認できます。方法は次のとおりです。https://developer.android.com/studio/debug/index.html#breakPoints

関連する問題