确定应用程序有1个按钮onclick会将项目添加到arraylist然后再添加到firebase但是当我旋转屏幕时单击相同的按钮,而不是添加更多项目,将删除旋转屏幕之前创建的所有项目然后将再次添加项目。 这是我的按钮代码
conver_textview_to_string=new ArrayList<>();
b.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
conver_textview_to_string.add("123");
for(int i=0;i<conver_textview_to_string.size();i++){
myRef.setValue(conver_textview_to_string);
}
}
});
谢谢
答案 0 :(得分:2)
将此信息放入您注册活动的menifest.xml中
将MyActivity替换为您的活动名称
.data()
答案 1 :(得分:2)
在屏幕旋转时,重新创建Activity
,因此为了保存以前的数据(在屏幕旋转之前),您必须将数据/值存储在onSaveInstanceState
内并获取其值onRestoreInstanceState
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putParcelableArrayList("myText", conver_textview_to_string);
}
protected void onRestoreInstanceState(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
conver_textview_to_string = savedInstanceState.getParcelableArrayList("myText");
}
答案 2 :(得分:1)
使用默认配置时,每次旋转屏幕时都会销毁并重新创建活动。你可以做两件事:
将活动状态保存在覆盖onSaveInstanceState(Bundle outState)
的捆绑包中,然后使用在onCreate
上作为参数传递的捆绑包或覆盖onRestoreInstanceState
在manifest.xml中为您的活动添加android:configChanges="orientation | screensize"
。这使得活动不会在屏幕旋转时重新创建。