Я использую действия для ввода данных в шаблон основной детали, и то, что я хотел достичь, обновляет данные каждый раз, когда я выхожу из действия и возвращаю результат, но каждый раз, когда я делаю что и попытаться выбрать 1 из элементов в шаблоне, я получаю это незаконное государственное исключение. Приведенный ниже код работает, если он не вызывается после закрытия операции.IllegalStateException при возврате из операции в шаблоне основного деталя
Когда я фиксирую менеджер фрагментов поддержки, я получаю эту ошибку, если я изменяю commit на commitAllowingStateLoss, код продолжается, но он не перезагружает подробные данные. Любая помощь в этом вопросе будет высоко оценена.
@Override
public void onItemSelected(int id) {
if (mTwoPane) {
Bundle arguments = new Bundle();
arguments.putInt(CategoryDetailFragment.ARG_ITEM_ID, id);
CategoryDetailFragment fragment = new CategoryDetailFragment();
fragment.setArguments(arguments);
getSupportFragmentManager().beginTransaction()
.replace(R.id.category_detail_container, fragment).commit();
if (findViewById(R.id.startUpPicture)!=null){
ImageView IV_StartUp =
(ImageView) findViewById(R.id.startUpPicture);
IV_StartUp.setVisibility(View.GONE);
}
} else {
Intent detailIntent = new Intent(this, CategoryDetailActivity.class);
detailIntent.putExtra(CategoryDetailFragment.ARG_ITEM_ID, id);
startActivity(detailIntent);
}
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
switch(requestCode){
case 0:
onItemSelected(data.getIntExtra("CAT_ID", -1));
break;
case 1:
SQLCategories _sql = new SQLCategories(CategoryListActivity.this);
ArrayList<Categories> _categories =_sql.getAllCategories();
_CLFragment.getListView().setAdapter(new CategoriesAdapter(CategoryListActivity.this, _categories));
onItemSelected(-1);
break;
default:
if(resultCode==1){
onItemSelected(data.getIntExtra("CAT_ID", -1));
break;
}
}
Да, я пробовал это, но я столкнулся с другой проблемой, в то же время я не могу извлечь данные из базы данных. Запрос, который должен был вернуть 3 строки, возвращается 0. После этого, когда все загружается снова, я запускаю ту же функцию, и она тянет 3 строки, которые мне нужны. – user2227904