Android 将ArrayAdapter转换为列表

Android 将ArrayAdapter转换为列表,android,arraylist,android-arrayadapter,Android,Arraylist,Android Arrayadapter,我有一个数组适配器字符串,并希望将其转换为一个列表,但经过一点谷歌搜索和几次尝试后,我还没有找到解决方法 我试过以下方法 for(int i = 0; i < adapter./*what?*/; i++){ //get each item and add it to the list } 但适配器不能用于foreach循环 然后我在谷歌上搜索了数组中的一个方法,该方法可以从适配器转换为列表,但没有找到任何结果 最好的方法是什么?有可能吗?试试这个 for(int i = 0;

我有一个数组适配器字符串,并希望将其转换为一个列表,但经过一点谷歌搜索和几次尝试后,我还没有找到解决方法

我试过以下方法

for(int i = 0; i < adapter./*what?*/; i++){
     //get each item and add it to the list
}
但适配器不能用于foreach循环

然后我在谷歌上搜索了数组中的一个方法,该方法可以从适配器转换为列表,但没有找到任何结果

最好的方法是什么?有可能吗?

试试这个

for(int i = 0; i < adapter.getCount(); i++){
     String str = (String)adapter.getItem(i);
}
// Note to the clown who attempted to edit this code.
// this is an input parameter to this code.
ArrayAdapter blammo; 
List<String> kapow = new LinkedList<String>(); // ArrayList if you prefer.

for (int index = 0; index < blammo.getCount(); ++index)
{
    String value = (String)blammo.getItem(index);
    // Option 2: String value = (blammo.getItem(index)).toString();
    kapow.add(value);
}

// kapow is a List<String> that contains each element in the blammo ArrayAdapter.
如果ArrayAdapter的元素不是字符串,请使用选项2。

试试这个

// Note to the clown who attempted to edit this code.
// this is an input parameter to this code.
ArrayAdapter blammo; 
List<String> kapow = new LinkedList<String>(); // ArrayList if you prefer.

for (int index = 0; index < blammo.getCount(); ++index)
{
    String value = (String)blammo.getItem(index);
    // Option 2: String value = (blammo.getItem(index)).toString();
    kapow.add(value);
}

// kapow is a List<String> that contains each element in the blammo ArrayAdapter.

如果ArrayAdapter的元素不是字符串,请使用选项2。

这正是我想要的,谢谢。我讨厌谷歌不能让名字的长度统一。他们调用方法size或length会不会太难?从语义上讲,getCount更合适,因为它应该通知适配器将创建的视图数量,而不是ArrayList或包含数据的数组,后者确实有一个大小:它包含的元素数。ArrayAdapter不一定包含数据,因此它没有大小。还请注意ArrayAdapter类是泛型的,因此如果您创建了新的ArrayAdapter。。。您可以避免强制转换getItem返回的值。这看起来正是我想要的,谢谢。我讨厌谷歌不能让名字的长度统一。他们调用方法size或length会不会太难?从语义上讲,getCount更合适,因为它应该通知适配器将创建的视图数量,而不是ArrayList或包含数据的数组,后者确实有一个大小:它包含的元素数。ArrayAdapter不一定包含数据,因此它没有大小。还请注意ArrayAdapter类是泛型的,因此如果您创建了新的ArrayAdapter。。。可以避免强制转换getItem返回的值。