В моей деятельности у меня есть editText's (Имя пользователя, имя, фамилия и адрес электронной почты). Когда пользователь вводит существующее имя пользователя, он может выполнить поиск по нему, нажав кнопку поиска , и данные, которые пользователь имеет, будут отображаться в файле editText.Поиск записи и извлечение ее из базы данных в Android
MainActivity.java
btn_Search.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
String searchableUser = txt_User.getText().toString();
ConsUserRegistration consUserRegistration = db.searchUser(searchableUser);
String searchUser = consUserRegistration.getUser().toString();
String searchFirst = consUserRegistration.getFirstName().toString();
String searchLast = consUserRegistration.getLastName().toString();
String searchEmail = consUserRegistration.getEmail().toString();
txt_User.setText(searchUser);
txt_First.setText(searchFirst);
txt_Last.setText(searchLast);
txt_Email.setText(searchEmail);
}
});
DatabaseHandler.java
public ConsUserRegistration searchUser(String username){
SQLiteDatabase db = this.getReadableDatabase();
Cursor cursor = db.query(Constants.TABLE_USER, new String[] {Constants.KEY_USER, Constants.KEY_FIRST,
Constants.KEY_LAST, Constants.KEY_EMAIL}, Constants.KEY_USER + " =? ",
new String[] { String.valueOf(username) }, null, null, null);
if (cursor != null)
cursor.moveToFirst();
ConsUserRegistration search = new ConsUserRegistration (cursor.getString(0), cursor.getString(1), cursor.getString(2), cursor.getString(3));
return search;
}
Но когда пользователь нажимает кнопку Search и не ввести любой символ из Логин EditText, я получаю ошибку CursorIndexOutOfBoundsException
в DatabaseHandler в строке: ConsUserRegistration search = new ConsUserRegistration (cursor.getString (0), cursor.getString (1), cursor.getString (2), cursor.getString (3));
Кроме того, я не смог получить данные из базы данных, так как это сбой.
, что ваша проблема –
К сожалению, мне очень жаль. Просто отредактировал мой вопрос – androidBoomer
nullPointerExceptions, у которого строка кода? См. Лог-код. –