Android:listView和getView-Method

时间:2018-11-17 12:55:46

标签: java android listview getview

大家好,我是android编程的新手,我有几个问题。希望有人能帮忙。

我正在使用代码:

new ArrayAdapter<Customer> (this, android.R.layout.simple_list_item_multiple_choice,emptyListForInitialization) {...

但是我想使用自己创建的("R.layout.custom_customer_layout")布局。

如果我用以下方式更改代码行,我可以使用它:

new ArrayAdapter<Customer> (this, android.R.layout.simple_list_item_multiple_choice,emptyListForInitialization)

使用我的布局("R.layout.custom_customer_layout")

并删除代码

View view =  super.getView(position, convertView, parent);

然后取消注释其下面的部分(/ * ... * /之间的代码)。


但是我没有getView-Method。

为什么我要参考两次我的布局?

第一次创建新的ArrayList

getView-Method中的第二时间?


这是我代码的重要部分:

    private ListView myTestListView;

    private void initializeCustomerListView() {
        myTestListView = (ListView) findViewById(R.id.listview_customers);

        List<Customer> emptyListForInitialization = new ArrayList<>();

        ArrayAdapter<Customer> customerArrayAdapter = new ArrayAdapter<Customer> (
                this, android.R.layout.simple_list_item_multiple_choice,
                emptyListForInitialization) {

            @Override
            public View getView(int position, View convertView, ViewGroup parent) {
                View view =  super.getView(position, convertView, parent);

                /*
                View view = getLayoutInflater().inflate(R.layout.custom_customer_layout,null);

                TextView textViewName = (TextView)convertView.findViewById(R.id.textView20);
                TextView textViewContact = (TextView)convertView.findViewById(R.id.textView21);
                TextView textViewMobile = (TextView)convertView.findViewById(R.id.textView25);

                textViewName.setText(this.getItem(position).getCustomerName());
                textViewContact.setText(this.getItem(position).getCounterpart());
                textViewMobile.setText(this.getItem(position).getMobilePhoneNumber());
                */
                return view;
            }
        };

        myTestListView.setAdapter(customerArrayAdapter);
    }

0 个答案:

没有答案