2017-06-03 73 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()?或它是空白的?你確定這個用戶不是空的嗎? –

+0

我可以確認電子郵件地址字段中存在數據。請讓我知道,如果你需要更多的細節 – Pankaj

+0

你有沒有嘗試把logcat而不是setText並檢查值?雖然這可能是一個愚蠢的問題要問,但你有沒有檢查txtEmailAddress_Profile是否定義了,如txtEmailAddress_Profile =(EditText)findviewby id ....? –

回答

0

嘗試初始化txtEmailAddress_Profile的EditText的onCreateView()內,而不是InitializeControls()。

嘗試這樣:

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

相關問題