在Android中,如何选择ListView可以显示的ArrayAdapter项?

时间:2016-07-15 08:52:52

标签: android listview android-arrayadapter

所以我有ArrayAdapter基本上包含用户定义的对象。

以下是适配器包含的对象类:

private class BluetoothInfoContainer {

        private String name;
        private String address;
        private BluetoothDevice device;

        public BluetoothInfoContainer(String devName, String devAddress, BluetoothDevice dev)
        {
            name = devName;
            address = devAddress;
            device = dev;
        }

        public String getName()
        {
            return name;
        }

        public String getAddress()
        {
            return address;
        }

        public BluetoothDevice getDevice()
        {
            return device;
        }

    }

以下是如何将对象添加到适配器

ArrayAdapter BTArrayAdapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1);

            if (BluetoothDevice.ACTION_FOUND.equals(action)) {
                btd = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE); //Get the device details

                BTArrayAdapter.add(new BluetoothInfoContainer(btd.getName(),btd.getAddress(),btd));
            }

        }
    };

以下是我如何将适配器设置为ListView

ListView listBTDevices = (ListView) findViewById(R.id.listBTDevices);

listBTDevices.setAdapter(BTArrayAdapter);

问题在这里,

ListView显示一些奇怪的名称,因为BTArrayAdapter此处包含类BluetoothInfoContainer的对象

所以,我想知道的是,如果有任何方法可以使用BTArrayAdapter getName()BluetoothInfoContainer方法从ListView检索设备的名称。让ArrayAdapter显示它。

有没有办法可以做到这一点?

在您关注此问题之前,请知道我已经查看了ListView和{{1}}的文档,但找不到任何有用的信息,因此我在此处发布了我的问题。

感谢您的时间!!

0 个答案:

没有答案