2017-06-03 14 views
-1

私はFragmentを使用していますが、何らかの理由によりEditTextはJSON応答を返すPOSTリクエストから取得したデータを表示しません。SetText EditTextがOnStart、OnResume、onCreateViewを使用しているフラグメントで動作しない

JSONレスポンスに問題はありません。 OnResumeメソッドとOnStartメソッドも使用しましたが、まだ動作していません。

何かが欠けていますか?

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, 
         Bundle savedInstanceState) { 
    View fragment_profile = inflater.inflate(R.layout.fragment_profile, container, false); 
    InitializeControls(fragment_profile); 
    NM_Profile.getInstance(this.getContext()).ViewProfile(new IResultListener<JOM_User>() { 
     @Override 
     public void getResult(JOM_User object) { 
      user = object.getUser(); 
      if(user != null) { 
       txtEmailAddress_Profile.setText(user.getEmailAddress()); 
      } 
     } 
    }); 

    return inflater.inflate(R.layout.fragment_profile, container, false); 
} 


@Override 
public void OnStart() { 
    if(user != null) { 
     txtEmailAddress_Profile.setText(user.getEmailAddress()); 
    } 
    return super.OnStart(); 
} 

@Override 
public void OnResume() { 
    if(user != null) { 
     txtEmailAddress_Profile.setText(user.getEmailAddress()); 
    } 
    return super.OnStart(); 
} 
+0

あなたは)(user.getEmailAddressにデータがあるかどうかをチェックしていますか?それとも空白ですか?ユーザーがnullでないことを確認していますか? –

+0

電子メールアドレスフィールドにデータが存在することを確認できます。あなたが詳細が必要な場合は親切に教えてください – Pankaj

+0

setTextの代わりにlogcatを入れて値をチェックしようとしましたか?これは疑問に思うかもしれませんが、txtEmailAddress_Profile =(EditText)findviewby id ...のようにtxtEmailAddress_Profileが定義されているかどうかチェックしていますか? –

答えて

0

)(というよりも、InitializeControls)onCreateView(内部txtEmailAddress_ProfileのEditTextを初期化してみます。

このような何か試してみてください:

private EditText txtEmailAddress_Profile; 

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, 
         Bundle savedInstanceState) { 
    View fragment_profile = inflater.inflate(R.layout.fragment_profile, container, false); 
    InitializeControls(fragment_profile); 
    txtEmailAddress_Profile =(EditText) view.findViewById(R.id.YourEditText); 
    NM_Profile.getInstance(this.getContext()).ViewProfile(new IResultListener<JOM_User>() { 
     @Override 
     public void getResult(JOM_User object) { 
      user = object.getUser(); 
      if(user != null) { 
       txtEmailAddress_Profile.setText(user.getEmailAddress()); 
      } 
     } 
    }); 

    return inflater.inflate(R.layout.fragment_profile, container, false); 
} 
+0

メールアドレスフィールドにデータが存在することを確認できます。あなたが詳細が必要な場合は親切に教えてください – Pankaj

関連する問題