Android 是否将带有自定义适配器的字符串数组用于listview?

Android 是否将带有自定义适配器的字符串数组用于listview?,android,listview,custom-adapter,Android,Listview,Custom Adapter,所以我有一个字符串数组。我试图将每个单独的项从该字符串数组传递到自定义适配器。我很难弄清楚如何使用在自定义适配器中传递的字符串 我经过的字符串[] String favorites = String.valueOf(FavList.get(0).get("favorites_list")); String[] separated = favorites.split(","); for (String s: separated)

所以我有一个字符串数组。我试图将每个单独的项从该字符串数组传递到自定义适配器。我很难弄清楚如何使用在自定义适配器中传递的字符串

我经过的字符串[]

 String favorites = String.valueOf(FavList.get(0).get("favorites_list"));

                String[] separated = favorites.split(",");

                for (String s: separated) {
                    //Do your stuff here
                    FavoritesAdapter.add(s);
                }
适配器类

public class FavoritesAdapter extends ArrayAdapter<favoriteList> {
private final Context mContext;
private List<favoriteList> favlist;
private TextView favorites;
private TextView favDetail;

public FavoritesAdapter(Context context, ArrayList<favoriteList> objects) {
    super(context, R.layout.favorites_listview_single, objects);
    this.mContext = context;
    this.favlist = objects;
}


public View getView(final int position, View convertView, final ViewGroup parent) {
    if (convertView == null) {
        LayoutInflater mLayoutInflater = LayoutInflater.from(mContext);
        convertView = mLayoutInflater.inflate(R.layout.favorites_listview_single, null);
    }


   // Here is where i cant figure out how to get the string that I passed.






    return convertView;
}
公共类FavoritesAdapter扩展了ArrayAdapter{
私有最终上下文mContext;
私人名单;
私人文本视图收藏夹;
私有文本视图favDetail;
公共收藏夹适配器(上下文、ArrayList对象){
super(上下文、R.layout.favorites\u列表视图\u单个对象);
this.mContext=上下文;
this.favlist=对象;
}
公共视图getView(最终整型位置、视图转换视图、最终视图组父视图){
if(convertView==null){
LayoutInflater mLayoutInflater=LayoutInflater.from(mContext);
convertView=mLayoutInflater.FLATE(R.layout.favorites\u listview\u single,null);
}
//在这里,我不知道如何获得我传递的字符串。
返回视图;
}

}

我不知道您是如何编写“FavoritesAdapter”类的,但使用静态方法“add”并向其传递字符串以构建列表感觉非常错误


在这个链接中,您可以了解如何为ListView创建自定义数组适配器。看起来您只是传入字符串,所以我不知道为什么要使用
ArrayAdapter

如果将适配器类更改为:

public class FavoritesAdapter extends ArrayAdapter<String> {
    private final Context mContext;
    private ArrayList<String> favlist;
    private TextView favorites;
    private TextView favDetail;

    public FavoritesAdapter(Context context, ArrayList<String> objects) {
        super(context, R.layout.favorites_listview_single, objects);
        this.mContext = context;
        this.favlist = objects;
    }

    public View getView(final int position, View convertView, final ViewGroup parent) {
        if (convertView == null) {
            LayoutInflater mLayoutInflater = LayoutInflater.from(mContext);
            convertView = mLayoutInflater.inflate(R.layout.favorites_listview_single, null);
        }

        String favoriteItem = favlist.get(position) //get the string you passed 


        return convertView;
    }

    //...more code
}
公共类FavoritesAdapter扩展了ArrayAdapter{
私有最终上下文mContext;
私人ArrayList favlist;
私人文本视图收藏夹;
私有文本视图favDetail;
公共收藏夹适配器(上下文、ArrayList对象){
super(上下文、R.layout.favorites\u列表视图\u单个对象);
this.mContext=上下文;
this.favlist=对象;
}
公共视图getView(最终整型位置、视图转换视图、最终视图组父视图){
if(convertView==null){
LayoutInflater mLayoutInflater=LayoutInflater.from(mContext);
convertView=mLayoutInflater.FLATE(R.layout.favorites\u listview\u single,null);
}
String favoriteItem=favlist.get(position)//获取传递的字符串
返回视图;
}
//…更多代码
}
然后在传递字符串时,按如下方式传递:

String favorites = String.valueOf(FavList.get(0).get("favorites_list"));
ArrayList<String> favlist = (ArrayList<String>)Arrays.asList(favorites.split(","));

FavoritesAdapter adapter = new FavoritesAdapter(getApplicationContext(), favlist);
listView.setAdapter(adapter); //where listView is the view you declared previously
stringfavorites=String.valueOf(FavList.get(0.get)(“收藏夹列表”);
ArrayList favlist=(ArrayList)Arrays.asList(favorites.split(“,”);
FavoritesAdapter adapter=新的FavoritesAdapter(getApplicationContext(),favlist);
setAdapter(适配器)//其中listView是您之前声明的视图

为数据创建ArrayList,然后将其传递给适配器。如果看不到适配器代码,很难知道抱歉-忘记添加,只是添加了。您缺少类似favoriteIte.findViewById(R.id.someTextView)。setTextView(favoriteItem)的内容;op没有指定他想对字符串做什么,所以我只演示了如何传递它并将其存储在一个变量中谢谢你!这对我来说很有效,但是我需要添加的唯一一件事就是声明“新”arrayList。请参见下面的内容:ArrayList favlist=新的ArrayList(Arrays.asList(favorites.split(“,”));