В общем у меня есть listView в главном активити:
mList = (ListView)findViewById(R.id.list);
mList.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> list_view, View view, int position, long id) {
Intent intent = new Intent(getApplicationContext(), NoteRead.class);
intent.putExtra("id", id);
startActivity(intent);
}
});
sqlHelper = new DatabaseHelper(getApplicationContext());
}
public void onInfoClick(View v){
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
Info info = new Info(builder);
}
@Override
public void onResume() {
super.onResume();
db = sqlHelper.getWritableDatabase();
userCursor = db.rawQuery("select * from "+ DatabaseHelper.TABLE, null);
String[] headers = new String[] {DatabaseHelper.COLUMN_DATE, DatabaseHelper.COLUMN_NOTE, DatabaseHelper.COLUMN_CATEGORY};
userAdapter = new SimpleCursorAdapter(this, R.layout.list_view,
userCursor, headers, new int[]{android.R.id.text1, android.R.id.text2, R.id.text3}, 0);
mList.setAdapter(userAdapter);
Нужно чтобы при нажатии на элемент списка открывалось другое активити и в зависимости от того на какой элемент мы нажали данные из 3 колонок выводились в 3 TextView. Вот код второго активити:
public void onCloseClickNR(View v){
finish();
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_note_read);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
TextView textDate = (TextView)findViewById(R.id.textDate);
TextView textCategory = (TextView)findViewById(R.id.textCategory);
TextView textNote = (TextView)findViewById(R.id.textNote);
Bundle args = new Bundle();
args.putLong("id", id);
sqlHelper = new DatabaseHelper(this);
db = sqlHelper.getWritableDatabase();
userCursor = db.rawQuery("select * from " + DatabaseHelper.TABLE + " where " +
DatabaseHelper.COLUMN_ID + "=?", new String[]{String.valueOf(id)});
userCursor.moveToFirst();
textNote.setText(userCursor.getString(0));
textDate.setText(userCursor.getString(1));
textCategory.setText(userCursor.getString(2));
userCursor.close();
db.close();
}
При нажатии на элемент списка приложение крашится, в отчёте выводится ошибка "android.database.CursorIndexOutOfBoundsException". При нажатии на любой элемент списка выводится id = 16842960. Как корректно вывести данные и что я неправильно делаю?
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Как менять xml атрибуты макетов через Java код android? Вначале подумал об использовании регулярных выражений, но мне сказали, что "парсить регулярками...
Есть такой не непосредственной связанный с программированием вопрос, а косвенный