当我呼叫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。永远不要忘记检查我想的小事
答案 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, ""));
}