Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/349.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 实用地定制android的listView元素_Java_Android_Listview - Fatal编程技术网

Java 实用地定制android的listView元素

Java 实用地定制android的listView元素,java,android,listview,Java,Android,Listview,我想给一些“ListView”的项目添加一些自定义效果。注意到非常奇特的只有一些字幕,选择自定义颜色,甚至更改项目的文本值 目前我正在生成我的列表视图,如下所示: ListView listView = new ListView(getActivity()); String[] values = new String[] { "iPhone", "WindowsMobile", "Blackberry", "WebOS", "Ubuntu", "Windows7", "Max O

我想给一些“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);
ListView ListView=新建ListView(getActivity());
字符串[]值=新字符串[]{“iPhone”、“WindowsMobile”,
“黑莓”、“WebOS”、“Ubuntu”、“Windows7”、“Max OS X”,
“Linux”、“OS/2”};
ArrayAdapter files=新的ArrayAdapter(getActivity(),
android.R.layout.simple_list_item_1,值);
setAdapter(文件);

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

查看本教程,我发现它对我自己很有帮助。

我不喜欢创建这样的适配器,它不能透明地了解正在发生的事情,也不能控制视图,我更喜欢扩展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;
    }
}
公共类MyAdapter扩展了BaseAdapter{
私人活动;
私有数组列表数据;
充气机;
公共LazyAdapter(活动a,ArrayList d){
活动=a;
数据=d;
充气器=(LayoutInflater)activity.getSystemService(Context.LAYOUT\u充气器\u SERVICE);
}
public int getCount(){
返回data.size();
}
公共对象getItem(int位置){
返回位置;
}
公共长getItemId(int位置){
返回位置;
}
公共视图getView(int位置、视图转换视图、视图组父视图){
视图=转换视图;
if(convertView==null)
视图=充气机。充气(R.layout.list_行,空);
//设置视图值等
返回视图;
}
}

使用此功能,您可以更好地控制ListView及其单元格,有许多教程,搜索“自定义ListView”,您应该会找到一些有帮助的内容

感谢您的快速重播,在相关站点关闭时,如果能看到一些备选方案,那将是非常好的。。。