Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Timur_St
0 / 0 / 0
Регистрация: 13.05.2016
Сообщений: 17
#1

Загрузка данных из SQLite для каждого пункта ListView - Программирование Android

13.05.2016, 08:28. Просмотров 299. Ответов 6
Метки нет (Все метки)

Здравствуйте, у меня такая проблема, не могу сделать так что бы для каждого пункта списка выводилась соответствующая строка в БД в новой активити. Кто знает подскажите пожалуйста.

Добавлено через 1 час 27 минут
Вот мой код для второй активности, при нажатии на любой пункт списка отображается одна и та же строка(первая).
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_information);
 
        
        mTextView = (TextView) findViewById(R.id.textView);
 
        mDataBaseHelper = new DataBaseHelper(getApplicationContext());
 
        db = mDataBaseHelper.getReadableDatabase();
        userCursor = db.query("Dish", new String[]{DataBaseHelper.DISH_NAME_RECIPE_COLUMN}, null, null, null, null, null);
 
        userCursor.moveToNext()
            recipe = userCursor.getString(userCursor.getColumnIndex(DataBaseHelper.DISH_NAME_RECIPE_COLUMN));
 
 
        Intent intent = getIntent();
        String resName = recipe + intent.getIntExtra("head", 0);
 
 
        mTextView.setText(resName);
        userCursor.close();
        db.close();
    }
Лучшие ответы (1)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Alexvp
107 / 71 / 8
Регистрация: 03.08.2014
Сообщений: 344
13.05.2016, 09:43     Загрузка данных из SQLite для каждого пункта ListView #2
Java
1
2
3
4
5
do
{
тут формируете свои строки меню
...
}while (userCursor.moveToNext());
Timur_St
0 / 0 / 0
Регистрация: 13.05.2016
Сообщений: 17
13.05.2016, 11:06  [ТС]     Загрузка данных из SQLite для каждого пункта ListView #3
Строки списка уже сформированы в первой активности, но когда нажимаешь на какой нибудь пункт списка(не важно на какой) открывается новая активность и там выводится последняя строчка БД, у меня не получается сделать так что бы для первого пункта списка открывалась активность с первой срокой БД (для второго пункта - вторая строка и т. д.)
Pablito
2455 / 1900 / 591
Регистрация: 12.05.2014
Сообщений: 6,702
Завершенные тесты: 1
13.05.2016, 14:45     Загрузка данных из SQLite для каждого пункта ListView #4
Цитата Сообщение от Timur_St Посмотреть сообщение
Вот мой код для второй активности, при нажатии на любой пункт списка отображается одна и та же строка(первая).
Цитата Сообщение от Timur_St Посмотреть сообщение
Строки списка уже сформированы в первой активности
наверное логичнее было бы показать код из первой активити, где эти данные вытягиваются, формируются и передаются
Timur_St
0 / 0 / 0
Регистрация: 13.05.2016
Сообщений: 17
14.05.2016, 19:39  [ТС]     Загрузка данных из SQLite для каждого пункта ListView #5
данные вытягиваются из той же БД, вот код первой активити
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
public class MainActivity extends AppCompatActivity {
    ListView mListView;
    DataBaseHelper mDataBaseHelper;
    SQLiteDatabase db;
    Cursor userCursor;
    SimpleCursorAdapter userAdapter;
 
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
 
        mListView = (ListView)findViewById(R.id.listView);
 
        mListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> a, View v, int position, long id) { //position номер выбранного пункта
                Intent intent = new Intent(MainActivity.this, Information.class);
                intent.putExtra("head", position);
                startActivity(intent);
            }
        });
 
        mDataBaseHelper = new DataBaseHelper(getApplicationContext());
    }
 
    @Override
    protected void onResume() {
        super.onResume();
        db = mDataBaseHelper.getReadableDatabase();
        userCursor = db.rawQuery("select * from "+ DataBaseHelper.DATABASE_TABLE_NAME, null);
        String[] columns = new String[]{DataBaseHelper.DISH_NAME_COLUMN}; //список столбцов
        userAdapter = new SimpleCursorAdapter(this, android.R.layout.two_line_list_item, userCursor, columns,
                new int[]{android.R.id.text1},0);
        mListView.setAdapter(userAdapter);
    }
 
    @Override
    protected void onDestroy() {
        super.onDestroy();
        db.close();
        userCursor.close();
    }
Pablito
2455 / 1900 / 591
Регистрация: 12.05.2014
Сообщений: 6,702
Завершенные тесты: 1
15.05.2016, 11:34     Загрузка данных из SQLite для каждого пункта ListView #6
Сообщение было отмечено автором темы, экспертом или модератором как ответ
что происходит во второй активити?
userCursor.moveToNext()

наверное вместо этого надо сначала достать переданную позицию
Java
1
2
        int pos = intent.getIntExtra("head", 0);
        cursor.moveToPosition(pos);
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.05.2016, 12:13     Загрузка данных из SQLite для каждого пункта ListView
Еще ссылки по теме:
ListView + SQLite Android
ListView и простой пример определения нажатого пункта Android
Идентификация ListView + SQLite Android
Android Картинка из SQLite в ListView
Android Как обратиться к элементу (button) внутри пункта списка (ListView)

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Timur_St
0 / 0 / 0
Регистрация: 13.05.2016
Сообщений: 17
15.05.2016, 12:13  [ТС]     Загрузка данных из SQLite для каждого пункта ListView #7
Паблито огромное вам спасибо, все получилось)
Yandex
Объявления
15.05.2016, 12:13     Загрузка данных из SQLite для каждого пункта ListView
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru