从android中的另一个片段访问活动的字符串类型的arraylist
我在一个活动中有一个字符串类型的arraylist。我需要从应用程序中的另一个片段访问此arraylist。如何从任何片段访问此arraylist。请给我一个解决方案。我不知道做这件事的程序。有人能帮我一下吗?在安卓系统中的活动中存储数据是个坏主意。活动可能会被破坏,您的本地数据(如ArrayList)可能无法访问。这就是为什么你需要将你的信息存储在其他地方。最常见的地方是数据库或首选项 查看此页面,他们会在其中推荐数据存储选项:从android中的另一个片段访问活动的字符串类型的arraylist,android,android-activity,android-fragments,arraylist,Android,Android Activity,Android Fragments,Arraylist,我在一个活动中有一个字符串类型的arraylist。我需要从应用程序中的另一个片段访问此arraylist。如何从任何片段访问此arraylist。请给我一个解决方案。我不知道做这件事的程序。有人能帮我一下吗?在安卓系统中的活动中存储数据是个坏主意。活动可能会被破坏,您的本地数据(如ArrayList)可能无法访问。这就是为什么你需要将你的信息存储在其他地方。最常见的地方是数据库或首选项 查看此页面,他们会在其中推荐数据存储选项: 使用此方法存储您的阵列列表: public static bo
使用此方法存储您的阵列列表:
public static boolean saveArray() {
SharedPrefernces sp=SharedPrefernces.getDefaultSharedPrefernces(this);
SharedPrefernces.Editor mEdit1= sp.edit();
mEdit1.putInt("Status_size",sKey.size()); /*sKey is an array*/
for(int i=0;i<sKey.size();i++) {
mEdit1.remove("Status_" + i);
mEdit1.putString("Status_" + i, sKey.get(i));
}
return mEdit1.commit();
}
public静态布尔存储阵列(){
SharedPrefernces sp=SharedPrefernces.getDefaultSharedPrefernces(此);
SharedPrefernces.Editor mEdit1=sp.edit();
mEdit1.putInt(“Status_size”,sKey.size());/*sKey是一个数组*/
对于(inti=0;i,如果ArrayList是静态的,那么可以将其作为参数传递给片段实例化
在您的活动中:
Bundle b=new Bundle();
b.putStringArrayList('myarraylist',myarraylist)
MyFragment f=MyFragment.newInstance(b);
在MyFragment类中:
public MyFragment newInstance(b){
MyFragment myfragment=new MyFragment();
myFramgent.setArguments(b);
return myFragment;
}
如果它是动态ArrayList,一个选项是在活动中获取对片段的引用,并调用set方法(您在片段或公共接口中定义的)在每次更改时传递数据。将其保存在sahred PREF中。您可以使用putExtra方法在活动之间传递数据。这要求表示数组对象的类必须实现Parcelable接口。正如其他人建议的那样,您应该将数据存储到db或共享首选项中。如果操作正确,您可以n在片段-->((ActivityClassName)getActivity())上使用此代码。variableName
public MyFragment newInstance(b){
MyFragment myfragment=new MyFragment();
myFramgent.setArguments(b);
return myFragment;
}