我的主要Activity包含一个片段,它有一个Recyclerview,用于从数据库中填充所有数据.在这个片段中,我得到了一个按钮,它调用另一个活动将对象插入数据库.
问题是,当活动结束并返回主活动时,Recyclerview不会显示我刚刚创建的新项目.我尝试了这段代码:
@Override
public void onResume() {
super.onResume();
adapterItem.addItem(MyApplication.getWritableDatabase().getAllItems());
listProjectsView.scrollToPosition(0);
}
Run Code Online (Sandbox Code Playgroud)
函数getAllItems从sqlite中检索所有数据.
在我的来自Recyclerview的adapterItem上,我得到了这个:
public void addItem(ArrayList<Item> listItems) {
this.listItems = listItems;
notifyItemInserted(0);
}
Run Code Online (Sandbox Code Playgroud)
它工作"很好".主要的问题是当我在我的手机中切换到另一个正在进行的应用程序时,我返回到我开发的应用程序,onResume方法打开并再次显示我的最后一个插入,填充两次这个项目(如果我再次这样做,依此类推).
谢谢
我试图在 Symfony 3.0.9 中定义一些 ChoiceType,其中根据动态创建的选项数量填充了 ajax,但随后验证表单显示所选选项无效。
我这样定义 ChoiceType:
->add('position', ChoiceType::class, [
'placeholder' => 'Select position',
'choices' => [],
'attr' => [
'class' => 'form-control choice-position'
],
])
Run Code Online (Sandbox Code Playgroud)
我得到的错误是:
Symfony\Component\Validator\ConstraintViolation
Object(Symfony\Component\Form\Form).children[lessonGroups].children[0].children[position] = 1
Caused by:
Symfony\Component\Form\Exception\TransformationFailedException
Unable to reverse value for property path "position": The choice "1" does not exist or is not unique
Caused by:
Symfony\Component\Form\Exception\TransformationFailedException
The choice "1" does not exist or is not unique
Run Code Online (Sandbox Code Playgroud)
我不知道是否需要任何进一步的信息。
谢谢!