Android 安卓arraylist赢得';t在Runnig应用程序上刷新

Android 安卓arraylist赢得';t在Runnig应用程序上刷新,android,Android,我的应用程序由一个包含3个片段的主活动组成,我在grid adapter的第二个片段中有一个布尔类型的arraylist,用于检查每个位置的复选框状态,以便在第一个片段中执行操作。 问题是arreylist从不更新,并且保持相同的数据值 我的代码在下面 公共类GridAdapter扩展BaseAdapter{ 私有数组列表; 私人语境; 私有ArrayList checkBoxState; 公共布尔状态; GridAdapter(上下文){ this.context=上下文; checkBox

我的应用程序由一个包含3个片段的主活动组成,我在grid adapter的第二个片段中有一个布尔类型的arraylist,用于检查每个位置的复选框状态,以便在第一个片段中执行操作。 问题是arreylist从不更新,并且保持相同的数据值 我的代码在下面

公共类GridAdapter扩展BaseAdapter{
私有数组列表;
私人语境;
私有ArrayList checkBoxState;
公共布尔状态;
GridAdapter(上下文){
this.context=上下文;
checkBoxState=newarraylist();
对于(int y=0;y<14;y++){
checkBoxState.add(y,false);
}
}
@凌驾
public int getCount(){
返回list.size();
}
@凌驾
公共对象getItem(int位置){
返回列表。获取(位置);
}
@凌驾
公共长getItemId(int i){
返回i;
}
类视图持有者{
图像视图标识图像;
文本视图文本名称;
复选框;
视图支架(视图v){
logoImage=v.findviewbyd(R.id.grid\u图像);
textName=v.findviewbyd(R.id.grid\u text);
复选框=v.findviewbyd(R.id.grid\u checbox);
}
}
@凌驾
公共视图getView(最终整数位置、视图转换视图、视图组父视图){
视图行=转换视图;
ViewHolder=null;
if(行==null){
LayoutFlater充气器=(LayoutFlater)context.getSystemService(context.LAYOUT\u充气器\u服务);
row=充气机。充气(R.布局。网格_项,父项,false);
支架=新的视图支架(行);
row.setTag(支架);
}
否则{
holder=(ViewHolder)row.getTag();
}
final GridWord temp=list.get(位置);
logoImage.setImageResource(临时徽标)的持有者;
holder.textName.setText((CharSequence)临时名称);
最终视图持有者finalHolder=持有者;
finalHolder.checkBox.setId(位置);
row.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图){
状态=真;
如果(((finalHolder.checkBox.isChecked())){
复选框(位置,false);
finalHolder.checkBox.setChecked(checkBoxState.get(position));
}
否则{
复选框(位置,真);
finalHolder.checkBox.setChecked(checkBoxState.get(position));
}
}
});
finalHolder.checkBox.setChecked(checkBoxState.get(position));
返回行;
}
公共阵列列表getCheckBoxState(){
返回checkBoxState;
}
公共无效复选框(整型位置,布尔值){
如果(值)
checkBoxState.set(位置,真);
其他的
checkBoxState.set(位置,false);
notifyDataSetChanged();
}

}
我建议您在活动中使用此arraylist来保存这3个片段。尝试从第二个片段更新此
Arraylist

这样,每当您想要读取第一个片段中的值时,您都可以从这个全局arraylist中读取它们,因此您拥有arraylist的单个实例