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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.60
RayPas
2 / 0 / 0
Регистрация: 18.01.2013
Сообщений: 370
#1

Работа с БД, связывание таблиц "фильмы", "жанры", "режиссеры" - Программирование Android

16.08.2015, 22:01. Просмотров 1351. Ответов 48
Метки нет (Все метки)

Ребят, всем привет! накидайте какие-нить идеи по реализации

ситуация такая есть таблицы - "списки_жанров", "фильмы", "режиссеры"
мне нужно на актитиви с добавлением фильмов иметь такие поля

поле для ввода названия_фильма
дропдаун со списком имеющихся жанров
дропдаун со списком имеющихся режиссеров

то есть задача прикрепить определенный фильм к определенному режиссеру и жанру
знаю, что вместо дропдауна тут используется Spinner кажется, но как осуществить все остальное не в курсе, знаю как это делается в asp.net , а тут полный ноль, подскажите идейки, главная трабл, что не представляю как выбрать списки жанров и режиссеров из таблиц
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.08.2015, 22:01     Работа с БД, связывание таблиц "фильмы", "жанры", "режиссеры"
Посмотрите здесь:
Android Наилучший способ хранения "таблиц в таблицах"
Android Не работает эмулятор (прекращена работа программы "emulator-arm.exe"
Работа со звуком - "На самом устройстве" - Программно Android
Android Работа с файлами "налету"
Визуализация нажатия на изображение. Как поставить картинку на "нажатие" Android
Android "Attempt to re-open an already-closed object" при работе с SQLite
Notification вывод строки с символами перехода на новую строку "\n" Android
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,070
17.08.2015, 20:06     Работа с БД, связывание таблиц "фильмы", "жанры", "режиссеры" #21
http://stackoverflow.com/questions/2...sor-in-android
RayPas
2 / 0 / 0
Регистрация: 18.01.2013
Сообщений: 370
18.08.2015, 02:05  [ТС]     Работа с БД, связывание таблиц "фильмы", "жанры", "режиссеры" #22
Mikalai, раз пошла такая тема, не подскажите как из спиннера получить id выбранного элемента?(нужно для раздления связи мног око многим, пишу ключи по разным таблица)

пытаюсь сделать такую байду, а он мне пишет что в айдишниках a_id и l_id пусто(а это как раз ай ди выбранного из спиннеров жанра и режиссера)

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public void onClick(View v) {
                    ContentValues cv = new ContentValues();
                    ContentValues cv1 = new ContentValues();
 
                    cv.put(DatabaseHelper.COLUMN_LID, spinner_list.getSelectedItemId());
                    cv.put(DatabaseHelper.COLUMN_BNAME, bookBox.getText().toString());
                    cv1.put(DatabaseHelper.COLUMN_BID, bookBox.getId());
                    cv1.put(DatabaseHelper.COLUMN_AID, spinner_author.getSelectedItemId());
 
                    if (id > 0) {
                        db.update(DatabaseHelper.TABLE1, cv, DatabaseHelper.COLUMN_ID1 + "=" + String.valueOf(id), null);
                    } else {
                        db.insert(DatabaseHelper.TABLE1, null, cv);
                        db.insert(DatabaseHelper.TABLE3, null, cv1);
 
                    }
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,070
18.08.2015, 07:18     Работа с БД, связывание таблиц "фильмы", "жанры", "режиссеры" #23
Java
1
2
3
4
5
6
spinner.setOnItemSelectedListener(new OnItemSelectedListener() {
        @Override
        public void onItemSelected(AdapterView<?> parentView, View view, int position, long id) {
            TextView tv= (TextView) view.findViewById(R.id.text1);
            Log.d("", tv.getText() + "; " + position + "; " + id);
}
RayPas
2 / 0 / 0
Регистрация: 18.01.2013
Сообщений: 370
18.08.2015, 12:49  [ТС]     Работа с БД, связывание таблиц "фильмы", "жанры", "режиссеры" #24
Rube, выдает ошибку
java.lang.NullPointerException
at com.example.scinolib2.AddBookActivity$PlaceholderFragment$1.onItemSelected(AddBookActivity.java:129)
хотя я даже еще не успеваю нажать на какой -либо элемент из списка
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,070
18.08.2015, 13:05     Работа с БД, связывание таблиц "фильмы", "жанры", "режиссеры" #25
RayPas, это я только пример привел, а вы его переделайте на свой лад.
Mikalai
256 / 232 / 93
Регистрация: 11.01.2015
Сообщений: 651
18.08.2015, 13:58     Работа с БД, связывание таблиц "фильмы", "жанры", "режиссеры" #26
RayPas, если нужно в методе onClick использовать позицию спинера, то можно обратить внимание на следующий метод:

Java
1
spinner.getFirstVisiblePosition();
RayPas
2 / 0 / 0
Регистрация: 18.01.2013
Сообщений: 370
18.08.2015, 15:35  [ТС]     Работа с БД, связывание таблиц "фильмы", "жанры", "режиссеры" #27
Mikalai, ребят, я кажется сам запутался и вас запутал и только осознал, отслеживание клика поставить удалось, но это не совсем то, что мне нужно, а точнее совсем не то, он отображает мне позиции и id прямо из спиннера, тогда как мне нужны ID из таблицы БД...так вообще возможно организовать?!
Миниатюры
Работа с БД, связывание таблиц "фильмы", "жанры", "режиссеры"  
Mikalai
256 / 232 / 93
Регистрация: 11.01.2015
Сообщений: 651
18.08.2015, 16:01     Работа с БД, связывание таблиц "фильмы", "жанры", "режиссеры" #28
Получи значение элемента спинера и сделай запрос в базу или сам поищи в оставшемся курсоре.
RayPas
2 / 0 / 0
Регистрация: 18.01.2013
Сообщений: 370
18.08.2015, 17:16  [ТС]     Работа с БД, связывание таблиц "фильмы", "жанры", "режиссеры" #29
Mikalai, написал такой обработчик
Java
1
2
3
4
5
6
7
8
9
 spinner_list.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
                public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) {
                    Object item = parent.getItemAtPosition(pos);
                    Cursor cursor = db.rawQuery("select _id from " + DatabaseHelper.TABLE + " where " + DatabaseHelper.COLUMN_LNAME + "=?", new String[]{item.toString()});
                }
 
                public void onNothingSelected(AdapterView<?> parent) {
                }
            });
но значения нужно положить в другой функции, котороая срабатывает на кнопку сохранения, не знаю как туда положить результат теперь...

Java
1
2
3
4
5
6
7
8
9
10
saveButton.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    ContentValues cv = new ContentValues();
                    ContentValues cv1 = new ContentValues();
 
                    cv.put(DatabaseHelper.COLUMN_LID, spinner_list.getSelectedItemId());
                    cv.put(DatabaseHelper.COLUMN_BNAME, bookBox.getText().toString());
                    cv1.put(DatabaseHelper.COLUMN_BID, bookBox.getId());
                    cv1.put(DatabaseHelper.COLUMN_AID, spinner_author.getSelectedItemId()); }
значения по идеи нужно положить вместо
Java
1
spinner_list.getSelectedItemId()
Mikalai
256 / 232 / 93
Регистрация: 11.01.2015
Сообщений: 651
18.08.2015, 17:38     Работа с БД, связывание таблиц "фильмы", "жанры", "режиссеры" #30
RayPas, покажи весь класс
RayPas
2 / 0 / 0
Регистрация: 18.01.2013
Сообщений: 370
18.08.2015, 17:44  [ТС]     Работа с БД, связывание таблиц "фильмы", "жанры", "режиссеры" #31
Mikalai,



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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
public class AddFilm extends AppCompatActivity {
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_add_film);
 
        long userId = 0;
        Bundle extras = getIntent().getExtras();
        if (extras != null) {
            userId = extras.getLong("id");
        }
 
        if (savedInstanceState == null) {
            getSupportFragmentManager().beginTransaction()
                    .add(R.id.container, PlaceholderFragment.newInstance(userId))
                    .commit();
        }
    }
 
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.menu_add_book, menu);
        return true;
    }
 
    public static class PlaceholderFragment extends Fragment {
 
        EditText bookBox;
        Button delButton;
        Button saveButton;
        DatabaseHelper sqlHelper;
        SQLiteDatabase db;
        Cursor userCursor, userCursor1;
 
        public static PlaceholderFragment newInstance(long id) {
            PlaceholderFragment fragment = new PlaceholderFragment();
            Bundle args=new Bundle();
            args.putLong("id", id);
            fragment.setArguments(args);
            return fragment;
        }
 
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setRetainInstance(true);
 
            sqlHelper = new DatabaseHelper(getActivity());
        }
        public PlaceholderFragment() {
        }
 
        @Override
        public View onCreateView(LayoutInflater inflater, ViewGroup container,
                                 Bundle savedInstanceState) {
 
            final View rootView = inflater.inflate(R.layout.fragment_user, container, false);
            bookBox = (EditText) rootView.findViewById(R.id.name);
            delButton = (Button) rootView.findViewById(R.id.delete);
            saveButton = (Button) rootView.findViewById(R.id.save);
 
            //cписок категорий
            final Spinner spinner_list = (Spinner) rootView.findViewById(R.id.spinner_lists);
            CharSequence searchStr = "Singh";
            spinner_list.setPrompt(searchStr);
            db = sqlHelper.getReadableDatabase();
            userCursor = db.rawQuery("select * from " + DatabaseHelper.TABLE, null);
 
            List<String> headers = new ArrayList<>();
            if (userCursor != null) {
                if (userCursor.moveToFirst()) {
                    do {
                        String string = userCursor.getString(userCursor.getColumnIndex(DatabaseHelper.COLUMN_LNAME));
                        headers.add(string);
                    } while (userCursor.moveToNext());
                }
            } else {
            }
 
            ArrayAdapter<String> LTRadapter = new ArrayAdapter<String>(this.getActivity(), android.R.layout.simple_spinner_item, headers);
            LTRadapter.setDropDownViewResource(android.R.layout.simple_dropdown_item_1line);
            spinner_list.setAdapter(LTRadapter);
            spinner_list.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
                public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) {
                    Object item = parent.getItemAtPosition(pos);
                    Cursor cursor = db.rawQuery("select _id from " + DatabaseHelper.TABLE + " where " + DatabaseHelper.COLUMN_LNAME + "=?", new String[]{item.toString()});
                }
 
                public void onNothingSelected(AdapterView<?> parent) {
                }
            });
 
    
            final Spinner spinner_author = (Spinner) rootView.findViewById(R.id.spinner_authors);
            userCursor1 = db.rawQuery("select * from " + DatabaseHelper.TABLE2, null);
            List<String> headers1 = new ArrayList<>();
            if (userCursor1 != null) {
                if (userCursor1.moveToFirst()) {
                    do {
                        String string = userCursor1.getString(userCursor1.getColumnIndex(DatabaseHelper.COLUMN_ASURNAME));
                        headers1.add(string);
                    } while (userCursor1.moveToNext());
                }
            } else {
            }
 
            ArrayAdapter<String> LTRadapter1 = new ArrayAdapter<String>(this.getActivity(), android.R.layout.simple_spinner_item, headers1);
            LTRadapter1.setDropDownViewResource(android.R.layout.simple_dropdown_item_1line);
            spinner_author.setAdapter(LTRadapter1);
 
 
            final long id = getArguments() != null ? getArguments().getLong("id") : 0;
 
            db = sqlHelper.getWritableDatabase();
            // кнопка удаления
            delButton.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
 
                    db.delete(DatabaseHelper.TABLE1, "_id = ?", new String[]{String.valueOf(id)});
                    goHome();
                }
            });
 
            // кнопка сохранения
            saveButton.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    ContentValues cv = new ContentValues();
                    ContentValues cv1 = new ContentValues();
 
                    cv.put(DatabaseHelper.COLUMN_LID, spinner_list.getSelectedItemId());
                    cv.put(DatabaseHelper.COLUMN_BNAME, bookBox.getText().toString());
                    cv1.put(DatabaseHelper.COLUMN_BID, bookBox.getId());
                    cv1.put(DatabaseHelper.COLUMN_AID, spinner_author.getSelectedItemId());
 
                    if (id > 0) {
                        db.update(DatabaseHelper.TABLE1, cv, DatabaseHelper.COLUMN_ID1 + "=" + String.valueOf(id), null);
                    } else {
                        db.insert(DatabaseHelper.TABLE1, null, cv);
                        db.insert(DatabaseHelper.TABLE3, null, cv1);
 
                    }
                    goHome();
                }
            });
 
            // если 0, то добавление
            if (id > 0) {
                // получаем элемент по id из бд
                userCursor = db.rawQuery("select * from " + DatabaseHelper.TABLE1 + " where " +
                        DatabaseHelper.COLUMN_ID1 + "=?", new String[]{String.valueOf(id)});
                userCursor.moveToFirst();
                bookBox.setText(userCursor.getString(1));
                userCursor.close();
            } else {
                // скрываем кнопку удаления
                delButton.setVisibility(View.GONE);
            }
            return rootView;
        }
 
        public void goHome(){
            // закрываем подключение
            db.close();
            // переход к главной activity
            Intent intent = new Intent(getActivity(), MainActivity.class);
            intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);
            startActivity(intent);
        }
    }
}
Mikalai
256 / 232 / 93
Регистрация: 11.01.2015
Сообщений: 651
18.08.2015, 18:20     Работа с БД, связывание таблиц "фильмы", "жанры", "режиссеры" #32
Писал на ощупь. Поэтому возможны ошибки ))

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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
public class AddFilm extends AppCompatActivity {
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_add_film);
 
        long userId = 0;
        Bundle extras = getIntent().getExtras();
        if (extras != null) {
            userId = extras.getLong("id");
        }
 
        if (savedInstanceState == null) {
            getSupportFragmentManager().beginTransaction()
                    .add(R.id.container, PlaceholderFragment.newInstance(userId))
                    .commit();
        }
    }
 
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.menu_add_book, menu);
        return true;
    }
 
    public static class PlaceholderFragment extends Fragment implements View.OnClickListener {
 
        EditText bookBox;
        Button delButton;
        Button saveButton;
        DatabaseHelper sqlHelper;
        SQLiteDatabase db;
        Cursor userCursor, userCursor1;
        Spinner spinner_author;
        Spinner spinner_list;
        ArrayAdapter<String> LTRadapter;
 
        public static PlaceholderFragment newInstance(long id) {
            PlaceholderFragment fragment = new PlaceholderFragment();
            Bundle args=new Bundle();
            args.putLong("id", id);
            fragment.setArguments(args);
            return fragment;
        }
 
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setRetainInstance(true);
 
            sqlHelper = new DatabaseHelper(getActivity());
        }
        public PlaceholderFragment() {
        }
 
        @Override
        public View onCreateView(LayoutInflater inflater, ViewGroup container,
                                 Bundle savedInstanceState) {
 
            final View rootView = inflater.inflate(R.layout.fragment_user, container, false);
            bookBox = (EditText) rootView.findViewById(R.id.name);
            delButton = (Button) rootView.findViewById(R.id.delete);
            saveButton = (Button) rootView.findViewById(R.id.save);
 
            //cписок категорий
            spinner_list = (Spinner) rootView.findViewById(R.id.spinner_lists);
            CharSequence searchStr = "Singh";
            spinner_list.setPrompt(searchStr);
            db = sqlHelper.getReadableDatabase();
            userCursor = db.rawQuery("select * from " + DatabaseHelper.TABLE, null);
 
            List<String> headers = new ArrayList<>();
            if (userCursor != null) {
                if (userCursor.moveToFirst()) {
                    do {
                        String string = userCursor.getString(userCursor.getColumnIndex(DatabaseHelper.COLUMN_LNAME));
                        headers.add(string);
                    } while (userCursor.moveToNext());
                }
            }
 
            LTRadapter = new ArrayAdapter<>(this.getActivity(), android.R.layout.simple_spinner_item, headers);
            LTRadapter.setDropDownViewResource(android.R.layout.simple_dropdown_item_1line);
            spinner_list.setAdapter(LTRadapter);
 
            spinner_author = (Spinner) rootView.findViewById(R.id.spinner_authors);
            userCursor1 = db.rawQuery("select * from " + DatabaseHelper.TABLE2, null);
            List<String> headers1 = new ArrayList<>();
            if (userCursor1 != null) {
                if (userCursor1.moveToFirst()) {
                    do {
                        String string = userCursor1.getString(userCursor1.getColumnIndex(DatabaseHelper.COLUMN_ASURNAME));
                        headers1.add(string);
                    } while (userCursor1.moveToNext());
                }
            }
 
            ArrayAdapter<String> LTRadapter1 = new ArrayAdapter<String>(this.getActivity(), android.R.layout.simple_spinner_item, headers1);
            LTRadapter1.setDropDownViewResource(android.R.layout.simple_dropdown_item_1line);
            spinner_author.setAdapter(LTRadapter1);
 
 
            final long id = getArguments() != null ? getArguments().getLong("id") : 0;
 
            db = sqlHelper.getWritableDatabase();
            // кнопка удаления
            delButton.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
 
                    db.delete(DatabaseHelper.TABLE1, "_id = ?", new String[]{String.valueOf(id)});
                    goHome();
                }
            });
 
            // кнопка сохранения
            saveButton.setOnClickListener(this);
 
            // если 0, то добавление
            if (id > 0) {
                // получаем элемент по id из бд
                userCursor = db.rawQuery("select * from " + DatabaseHelper.TABLE1 + " where " +
                        DatabaseHelper.COLUMN_ID1 + "=?", new String[]{String.valueOf(id)});
                userCursor.moveToFirst();
                bookBox.setText(userCursor.getString(1));
                userCursor.close();
            } else {
                // скрываем кнопку удаления
                delButton.setVisibility(View.GONE);
            }
            return rootView;
        }
 
        @Override
        public void onClick(View v) {
            ContentValues cv = new ContentValues();
            ContentValues cv1 = new ContentValues();
 
            int spinnerPosition = spinner_list.getFirstVisiblePosition();
            String stringFromSpinner = LTRadapter.getItem(spinnerPosition);
            Cursor cursor = db.rawQuery("select _id from " + DatabaseHelper.TABLE + " where "
                    + DatabaseHelper.COLUMN_LNAME + "=?", new String[]{stringFromSpinner});
            int idFromDB = cursor.getInt(cursor.getColumnIndex("_id")); /////////  от тут поидее должен быть твой искомый ID
 
            cv.put(DatabaseHelper.COLUMN_LID, spinner_list.getSelectedItemId());
            cv.put(DatabaseHelper.COLUMN_BNAME, bookBox.getText().toString());
            cv1.put(DatabaseHelper.COLUMN_BID, bookBox.getId());
            cv1.put(DatabaseHelper.COLUMN_AID, spinner_author.getSelectedItemId());
 
            if (id > 0) {
                db.update(DatabaseHelper.TABLE1, cv, DatabaseHelper.COLUMN_ID1 + "=" + String.valueOf(id), null);
            } else {
                db.insert(DatabaseHelper.TABLE1, null, cv);
                db.insert(DatabaseHelper.TABLE3, null, cv1);
 
            }
            goHome();
        }
 
        public void goHome(){
            // закрываем подключение
            db.close();
            // переход к главной activity
            Intent intent = new Intent(getActivity(), MainActivity.class);
            intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);
            startActivity(intent);
        }
    }
}
RayPas
2 / 0 / 0
Регистрация: 18.01.2013
Сообщений: 370
18.08.2015, 18:36  [ТС]     Работа с БД, связывание таблиц "фильмы", "жанры", "режиссеры" #33
Mikalai, ойй, спасибо за труды, но первая проблема , что он в функции-обработчике клика на SavveButtton не видит spinner_list
Mikalai
256 / 232 / 93
Регистрация: 11.01.2015
Сообщений: 651
18.08.2015, 18:46     Работа с БД, связывание таблиц "фильмы", "жанры", "режиссеры" #34
А ты весь код скопировал? spinner_list я сделал полем класса. как это он может не видеть. покажи где именно не видит?
RayPas
2 / 0 / 0
Регистрация: 18.01.2013
Сообщений: 370
18.08.2015, 18:53  [ТС]     Работа с БД, связывание таблиц "фильмы", "жанры", "режиссеры" #35
Mikalai, сорян, уже там все норм, вот что не видит
Миниатюры
Работа с БД, связывание таблиц "фильмы", "жанры", "режиссеры"  
Mikalai
256 / 232 / 93
Регистрация: 11.01.2015
Сообщений: 651
18.08.2015, 19:38     Работа с БД, связывание таблиц "фильмы", "жанры", "режиссеры" #36
Вынеси объявление этой переменной в поел класса. Модификатор final не нужен.
RayPas
2 / 0 / 0
Регистрация: 18.01.2013
Сообщений: 370
18.08.2015, 20:47  [ТС]     Работа с БД, связывание таблиц "фильмы", "жанры", "режиссеры" #37
Mikalai, уж сделал, выбрасывает на стркое с Вашим комментом ///////// от тут поидее должен быть твой искомый ID c такой ошибкой


android.database.CursorIndexOutOfBoundsException: Index -1 requested, with a size of 1
at android.database.AbstractCursor.checkPosition(AbstractCursor.java:426)
Mikalai
256 / 232 / 93
Регистрация: 11.01.2015
Сообщений: 651
18.08.2015, 21:02     Работа с БД, связывание таблиц "фильмы", "жанры", "режиссеры" #38
RayPas, вот на это замени строку

Java
1
2
3
4
int idFromDB = 0; // тут дефолтное значение
        if(cursor.moveToFirst()) {
            idFromDB = cursor.getInt(cursor.getColumnIndex("_id")); /////////  от тут поидее должен быть твой искомый ID
        }
RayPas
2 / 0 / 0
Регистрация: 18.01.2013
Сообщений: 370
18.08.2015, 21:54  [ТС]     Работа с БД, связывание таблиц "фильмы", "жанры", "режиссеры" #39
Mikalai, заработало вроде, пытааюсь добавить такие же операции для 2 го списка, но не выходит, там 0 почему то, в подсвеченной строке
Миниатюры
Работа с БД, связывание таблиц "фильмы", "жанры", "режиссеры"  
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.08.2015, 22:04     Работа с БД, связывание таблиц "фильмы", "жанры", "режиссеры"
Еще ссылки по теме:
Как добавить строку "." в начале в ListView со своим обработчиком Android
Ошибка "Method call expected" при шифровании RSA Android
Android Как поместить surfaceview или glsurfaceview на "пол" экрана
Почему приложение может пропасть из "Похожие" топового приложения? Android
Android Осуществить парсинг JSON с помощью готового макета "VKApiMessage"

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

Или воспользуйтесь поиском по форуму:
RayPas
2 / 0 / 0
Регистрация: 18.01.2013
Сообщений: 370
18.08.2015, 22:04  [ТС]     Работа с БД, связывание таблиц "фильмы", "жанры", "режиссеры" #40
Mikalai, и Вы знаете, я не знаю как работает БД в андроиде, но похоже значение списка опять берется из спиннера, попробовал создать 4 элемента, один по середине удалил, и все айдишники сместились...на верх на один поднялись
Yandex
Объявления
18.08.2015, 22:04     Работа с БД, связывание таблиц "фильмы", "жанры", "режиссеры"
Ответ Создать тему
Опции темы

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