如何将Textview数组列表转换为哈希集?

时间:2017-07-08 10:49:25

标签: android arraylist hashset

嘿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”

你会如何解决这个问题?

感谢您的时间。

1 个答案:

答案 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/