EditText始终返回空值

时间:2015-08-01 19:51:02

标签: android nullpointerexception

当我呼叫editText时,它会返回Null
 我的代码在这里:

public class LogIn extends Activity {

EditText userNameEditor;

EditText passwordEditor;

SharedPreferences preferences;

@Override

public void onCreate(Bundle savedInstanceState){

setContentView(R.layout.activity_login_screen);

userNameEditor = (EditText)findViewById(R.id.editTextUserName);

passwordEditor = (EditText)findViewById(R.id.passwordEditor);

preferences = getSharedPreferences(User.KEY_FOR_PREFERENCES, MODE_PRIVATE);

userNameEditor.setHint(preferences.getString(User.KEY_FOR_USERNAME, ""));

}   

}

我认为继续得到nullPointerException是因为我在onCreate中调用setHint?

注意:感谢大家的帮助。它是什么,是我不小心放入userNameEditor的先前id(我改变了它)所以findViewById和android:id中的那个是不同的lol。永远不要忘记检查我想的小事

4 个答案:

答案 0 :(得分:1)

请确保在尝试使用setContentView()查找任何视图之前致电findViewById(),当然要确保在布局中确实存在正确类型和正确ID的视图。

答案 1 :(得分:1)

OnCreate()方法

中调用此方法
super.onCreate(savedInstanceState);

在这一行之上

setContentView(R.layout.activity_login_screen);

答案 2 :(得分:0)

猜猜一句:你正在膨胀的XML上没有 R.id.editTextUserName

二:您没有设置内容视图

答案 3 :(得分:0)

如果这是您的完整代码,则您错过了对

的调用
setContentView(R.<your_activity_layout>)

所以试试

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.<layout>);

    editTextVar = (EditText)findViewById(R.id.editTextUserName);

    SharedPreferences preferences = getSharedPreferences(User.Key_FOR_PREFERENCES, MODE_PRIVATE);

    editTextVar.setHint(preferences.getString(User.KEY_FOR_USERNAME, ""));
}