我正在尝试允许用户向现有微调器添加更多选项。 微调器显示我创建的现有数组列表中的选项。用户可以向微调器添加选项,但仅在应用程序运行时才会添加。当它重新打开时,添加的选项不在那里,我知道为什么。 我只需要知道如何在不使用数据库的情况下保存这些选项。我确实找到了共享的首选方法,但它们太复杂了。 我们将非常感谢您的帮助。
这是数组的一部分,也是对spinner的补充。
#import <UIKit/UIKit.h>
@interface CarouselUIView : UIView
@property (weak, nonatomic) IBOutlet UIImageView * carouselImage;
@end
这是向微调器添加新选项的一部分。
final List<String> spinnerArray = new ArrayList<String>();
spinnerArray.add("Grocery");
spinnerArray.add("Transportation");
spinnerArray.add("Rent");
spinnerArray.add("Electricity Bill");
final ArrayAdapter<String> adapter = new ArrayAdapter<String>(
this, android.R.layout.simple_spinner_item, spinnerArray);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
Spinner sItems = (Spinner) findViewById(R.id.spinner);
sItems.setAdapter(adapter);
答案 0 :(得分:0)
最好的方法是保存在SharedPreference中,因为数据库将是更多的样板代码。或者您可以执行文件操作。但是以共享偏好存储非常容易。您可以使用以下方法来执行此操作。
将数组保存到SP
public boolean saveArray(List<String> array, String arrayName, Context mContext) {
SharedPreferences prefs = mContext.getSharedPreferences("preferencename", 0);
SharedPreferences.Editor editor = prefs.edit();
editor.putInt(arrayName +"_size", array.size());
for(int i=0;i<array.size();i++)
editor.putString(arrayName + "_" + i, array.get(i));
return editor.commit();
}
从SP
加载数组public List<String> loadArray(String arrayName, Context mContext) {
SharedPreferences prefs = mContext.getSharedPreferences("preferencename", 0);
int size = prefs.getInt(arrayName + "_size", 0);
List<String> array = new ArrayList<String> ();
for(int i=0;i<size;i++)
array.add(prefs.getString(arrayName + "_" + i, null));
return array;
}
现在要在你的代码中使用,你所要做的就是 -
saveArray(spinnerArray,"SpinnerArrayData",getApplicationContext());
得到 -
spinnerArray = loadArray(SpinnerArrayData",getApplicationContext())