实用地自定义android的listView元素

时间:2012-09-25 21:46:57

标签: java android listview

我想为一些`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);

如何为列表项添加字幕?或者为特定项目添加一些操作?

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分: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及其单元格,有很多教程,搜索“自定义列表视图”,你应该找到一些有用的东西