2016-04-05 269 views
0

在edittext中爲setText值引發錯誤。 Id給定是正確的,如果我給set嘗試在空對象引用上調用虛擬方法'void android.widget.EditText.setText(java.lang.CharSequence)'導致空指針異常

下面給出的代碼我不能setText Otp代碼「 otpcode.setText( 「12345」);」在創造它完美的作品。 當我給它的方法「recivedSms」,它沒有工作。

public class Change_Password_Activity extends AppCompatActivity { 
EditText user_name,pass_wd; 
public EditText otpcode; 
private Button btn_submit; 
private String username,otp,password; 
private ProgressDialog prgDialog; 
private Typeface typeface; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_change__password_); 
    typeface = GlobalVariables.getTypeface(Change_Password_Activity.this); 
    prgDialog = new ProgressDialog(this); 
    // Set Progress Dialog Text 
    prgDialog.setMessage("Please wait..."); 
    // Set Cancelable as False 
    prgDialog.setCancelable(false); 

    otpcode = (EditText)findViewById(R.id.otpedittext); 
    user_name = (EditText) findViewById(R.id.edittext_ch_user); 
    pass_wd = (EditText) findViewById(R.id.edittext_ch_passwd); 
    btn_submit = (Button) findViewById(R.id.button_changepswd); 
    otpcode.setTypeface(typeface); 
    user_name.setTypeface(typeface); 
    pass_wd.setTypeface(typeface); 
    btn_submit.setTypeface(typeface); 



} 
public void recivedSms(String message) 
{ 
    try 
    { 
     int smsnumbr= Integer.parseInt(message); 
     otpcode.setText(smsnumbr); 

    } 
    catch (Exception e) 
    { 
     Log.e("error", String.valueOf(e)); 
    } 
+1

是否onCreate總是在receivedSms之前調用? –

+1

何時何地receivedSms叫? – zgc7009

+0

收到短信方法onCreate後調用 – susaine

回答

0

,如果你想設置smsnumbr到EDITTEXT然後它會給空指針異常如的setText(整數)機器人試圖找到R.java資源與給定的整數作爲標識文件。爲了實現你想要的,你應該使用String.valueOf(..)來代替。

int smsnumbr= Integer.parseInt(message); 
otpcode.setText(String.valueOf(smsnumb)); 
+0

造成相同的異常 – susaine

+0

設置編輯文本中的整數不會導致空指針異常 – Tony

+0

你可以告訴我什麼時候recivedSms(...)被調用嗎? –