#android #android-intent #bundle
#Android #android-намерение #пакет
Вопрос:
у меня небольшая проблема с моим onActivityResult-onActivityResult. Я хочу выполнить с ним 2 метода, чтобы восстановить два блесны. Но работает только первый, второй игнорируется.
вот мой код:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
iBreak = 1;
if (resultCode == RESULT_OK amp;amp; requestCode == REQUEST_CODE) {
recoverMainFrame(data);
recoverMainFrameVariant(data);
}
}
private void recoverMainFrame(Intent data) {
dbhMy.openDataBase();
Log.e("mainframe: ", data.getExtras().getString("mainframe"));
String[] sColumns = { "name", "_id" };
String[] sColumn = { "_id" };
Cursor c1 = dbhMy.getData(sColumns, "mainframe");
startManagingCursor(c1);
int[] to = new int[] { android.R.id.text1 };
SimpleCursorAdapter adapter = new SimpleCursorAdapter(this,
android.R.layout.simple_spinner_item, c1, sColumns, to);
adapter
.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spMainModel.setAdapter(adapter);
spMainModel.setSelection(data.getExtras().getInt("iPosMain"));
dbhMy.close();
recoverMainFrameVariant(data);
}
private void recoverMainFrameVariant(Intent data) {
dbhMy.openDataBase();
String[] sColumns = { "name", "_id" };
Log.e("Variant: ", data.getExtras().getString("mainframe_variant"));
Cursor c2 = dbhMy.getData("name", "'"
data.getExtras().getString("mainframe_variant") "'",
sColumns, "mainframe_variant");
startManagingCursor(c2);
int[] to = new int[] { android.R.id.text1 };
SimpleCursorAdapter adapter1 = new SimpleCursorAdapter(this,
android.R.layout.simple_spinner_item, c2, sColumns, to);
adapter1
.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
Toast.makeText(
this,
"Variant ist: "
data.getExtras().getString("mainframe_variant"),
Toast.LENGTH_SHORT).show();
spMainModelSub.setAdapter(adapter1);
//spMainModelSub.setSelection(data.getExtras().getInt("iPosVar"));
dbhMy.close();
}
Какие-либо советы? 🙁
Спасибо, Питер
Комментарии:
1. Он должен быть вызван вы также вызвали recoverMainFrameVariant(данные) из recoverMainFrame(данные);
2. Не связано с вашим вопросом, но вы должны переместить dbhMy.close(); непосредственно после его использования, чтобы вы не позволяли ему оставаться открытым при выполнении других задач, не связанных с базой данных.
3. ДА… Параметр recoverMainFrameVariant(data) присутствует дважды. Моя ошибка. но не имеет значения, вызываю ли я его из onActivityResult или recoverMainFrame. Он не выполняется.