0

我想为一些 `ListView` 的项目添加一些自定义效果。仅注意到一些字幕,选择时的自定义颜色甚至更改项目的文本值非常花哨。

目前我正在ListView像这样生成:

ListView listView = new ListView(getActivity());
String[] values = new String[] { "iPhone", "WindowsMobile",
        "Blackberry", "WebOS", "Ubuntu", "Windows7", "Max OS X",
        "Linux", "OS/2" };
ArrayAdapter<String> files = new ArrayAdapter<String>(getActivity(),
        android.R.layout.simple_list_item_1, values);
listView.setAdapter(files);

我应该怎么做才能为列表项添加字幕?或者为特定项目添加一些操作?

4

2 回答 2

0

查看本教程http://www.vogella.de/articles/AndroidListView/article.html我发现它对我自己很有帮助。

于 2012-09-25T21:54:10.587 回答
0

我不喜欢创建这样的适配器,它不会为正在发生的事情提供任何透明度或对视图进行太多控制,我更喜欢扩展 BaseAdapter 以与 ListView 一起使用

public class MyAdapter extends BaseAdapter {

    private Activity activity;
    private ArrayList<Object> data;
    LayoutInflater inflater;

    public LazyAdapter(Activity a, ArrayList<Object> d) {
    activity = a;
    data=d;
    inflater = (LayoutInflater)activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

    }

    public int getCount() {
        return data.size();
    }

    public Object getItem(int position) {
        return position;
    }

    public long getItemId(int position) {
        return position;
    }

    public View getView(int position, View convertView, ViewGroup parent) {
        View view = convertView;
        if(convertView==null)
            view = inflater.inflate(R.layout.list_row, null);

        //set view values, etc
        return view;
    }
}

使用它,您可以更好地控制 ListView 及其单元格,那里有很多教程,搜索“自定义列表视图”,您应该会找到一些有用的东西

于 2012-09-25T22:16:39.797 回答