嘿stackoverflow社区,
我想通过共享首选项向另一个Activity发送Textviews的Arraylist,所以我尝试将我的列表转换为HashSet。
不接受:
public List<TextView> FavDishes = new ArrayList<TextView>();
。 。 。 FavDishes = new ArrayList&lt;&gt;(); FavDishes.add(eingabe);
**Set<String> taskSet = new HashSet<String>(FavDishes);**
PreferenceManager.getDefaultSharedPreferences(context)
.edit()
.putStringSet("Data", taskSet)
.apply();
它告诉我:“无法在Android小部件Textview上解析构造函数HashSet”
你会如何解决这个问题?
感谢您的时间。
答案 0 :(得分:0)
迭代FavDishes数组以将TextView值作为字符串获取并将它们存储到数组中,然后将该数组传递给您的任务集而不是FavDishes。
代码将类似于:
List<TextView> FavDishes = new ArrayList<TextView>();
FavDishes.add(fav1TV);
FavDishes.add(fav2TV);
FavDishes.add(fav3TV);
ArrayList<String> FavDishesString = new ArrayList<String>();
for (TextView FavDish : FavDishes ){
FavDishesString.add(FavDish.getText().toString());
}
Set<String> taskSet = new HashSet<String>(FavDishesString);
有关迭代arrayList的方法的有用链接:
https://crunchify.com/how-to-iterate-through-java-list-4-way-to-iterate-through-loop/