Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/226.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数据绑定列表视图_Java_Android_Listview_Binding - Fatal编程技术网

Java Android数据绑定列表视图

Java Android数据绑定列表视图,java,android,listview,binding,Java,Android,Listview,Binding,数据绑定中的列表视图有问题,因为我不知道如何在视图模型中设置自定义ArrayAdapter,以及如何在视图模型中添加onItemClick侦听器。有人能教你怎么做吗?Internet对此几乎没有什么信息。只需为ListView设置适配器即可R.id.listview必须引用布局中定义的listview,而R.Layout.listviewrow必须引用行应该具有的布局。此外,向ListView添加一个新的onItemClickListener实例 MyCustomArrayAdapter ada

数据绑定中的列表视图有问题,因为我不知道如何在视图模型中设置自定义
ArrayAdapter
,以及如何在视图模型中添加
onItemClick
侦听器。有人能教你怎么做吗?Internet对此几乎没有什么信息。

只需为ListView设置适配器即可
R.id.listview
必须引用布局中定义的listview,而
R.Layout.listviewrow
必须引用行应该具有的布局。此外,向ListView添加一个新的onItemClickListener实例

MyCustomArrayAdapter adapter = new MyCustomArrayAdapter(getActivity(), R.layout.listviewrow);
ListView lv = (ListView) getActivity().findViewById(R.id.listview);
lv.setAdapter(adapter);

lv.setOnItemClickListener(new OnItemClickListener() {
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
           //perform desired action here
        }
    } );
MyCustomArrayAdapter=新的MyCustomArrayAdapter(getActivity(),R.layout.listviewrow);
ListView lv=(ListView)getActivity().findViewById(R.id.ListView);
低压设置适配器(适配器);
lv.setOnItemClickListener(新的OnItemClickListener(){
public void onItemClick(AdapterView父对象、视图、整型位置、长id){
//在此执行所需的操作
}
} );
适配器本身应如下所示:

public class MyCustomArrayAdapter extends ArrayAdapter<Item> {

    public MyCustomArrayAdapter(Context context, int resource) {
        super(context, resource);
    }

    public MyCustomArrayAdapter(Context context, int resource, List<Item> items) {
        super(context, resource, items);
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {

        View v = convertView;

        if (v == null) {
            LayoutInflater vi;
            vi = LayoutInflater.from(getContext());
            v = vi.inflate(resource, null);
        }

        Item item = getItem(position);

        if (item != null) {
            TextView tvFirstName = (TextView) v.findViewById(R.id.firstName);
            TextView tvLastName = (TextView) v.findViewById(R.id.lastName);

        if (tvFirstName != null) {
            tvFirstName.setText(item.getFirstName());
        }

        if (tvLastName != null) {
            tvLastName.setText(item.getLastName);
        }
    }

    return v;
}
公共类MyCustomArrayAdapter扩展了ArrayAdapter{
公共MyCustomArrayAdapter(上下文,int资源){
超级(上下文、资源);
}
公共MyCustomArrayAdapter(上下文上下文、int资源、列表项){
超级(上下文、资源、项目);
}
@凌驾
公共视图getView(int位置、视图转换视图、视图组父视图){
视图v=转换视图;
如果(v==null){
拉平机vi;
vi=LayoutInflater.from(getContext());
v=vi.充气(资源,空);
}
项目=获取项目(位置);
如果(项!=null){
TextView tvFirstName=(TextView)v.findViewById(R.id.firstName);
TextView tvLastName=(TextView)v.findViewById(R.id.lastName);
if(tvFirstName!=null){
tvFirstName.setText(item.getFirstName());
}
if(tvLastName!=null){
tvLastName.setText(item.getLastName);
}
}
返回v;
}