我正在为Android设计一个简单的蓝牙应用程序,我有一个ListActivity 显示我找到的所有设备。
所以我有一个像这样的ListAdapter:
deviceNameListAdapter = new ArrayAdapter<BluetoothDevice>(this,android.R.layout.simple_list_item_1,devices);
并设置为显示。
但是,ListActivity显示设备的地址而不是设备的名称。我猜ListActivity会在显示设备列表时调用设备的.toString()
方法中的项目。我只是在想,无论如何我可以改变这种行为?
BluetoothDevice类有一个名为.getName()
的方法,应该被称为。
干杯!
答案 0 :(得分:0)
适配器类的示例:
public class AdapterClass extends BaseAdapter {
private List _list;
public AdapterDirectories(List list){
// Constructor with good parameters
_list = list;
}
@Override
public int getCount() {
return _list.size();
}
@Override
public Object getItem(int position) {
return position;
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View view = convertView;
CellHolder cellHolder = null;
// get
if (convertView == null) {
view = _inflater.inflate(R.layout.list_item, null);
cellHolder = new CellHolder();
cellHolder.textTitle = (TextView) view.findViewById(R.id.text_view_title);
view.setTag(cellHolder);
}
else {
cellHolder = (CellHolder) convertView.getTag();
}
// set
cellHolder.textTitle.setText("");
return view;
}
public class CellHolder {
public TextView textTitle;
}
}
将适配器设置为列表视图:
_listView.setAdapter(_adapter);