2016-12-21 2 views
-1

json 등으로 데이터를 보내는 onClickListener가 있는데, 그 다음에 새 활동을 열려고합니다. 여기에 코드의 일부는 다음과 같습니다새로운 활동이 오류없이 apearing되지 않습니다.

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

관련 문제