我已經下載了一些代碼並進行了修改。我想用一對和未配對按鈕在列表視圖中顯示所有綁定的藍牙設備。 現在工作正常。當我點擊一個按鈕時,我得到了該行的編號,但我想要在烤麪包中獲得該設備的名稱。你能幫我解決嗎?有兩個按鈕的Android listview
public class MainActivity extends Activity implements AdapterView.OnItemClickListener, View.OnClickListener {
private BluetoothAdapter mBtAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ListView list = new ListView(this);
setContentView(list);
mBtAdapter = BluetoothAdapter.getDefaultAdapter();
Set<BluetoothDevice> pairedDevices = mBtAdapter.getBondedDevices();
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.row_button, R.id.text) {
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View row = super.getView(position, convertView, parent);
View left = row.findViewById(R.id.left);
left.setTag(position);
left.setOnClickListener(MainActivity.this);
View right = row.findViewById(R.id.right);
right.setTag(position);
right.setOnClickListener(MainActivity.this);
return row;
}
};
list.setAdapter(adapter);
list.setOnItemClickListener(this);
if (pairedDevices.size() > 0) {
for(BluetoothDevice bt : pairedDevices)
adapter.add(bt.getName()+ "\n" + bt.getAddress());
}
else {
String noDevices = getResources().getText(R.string.none_paired).toString();
adapter.add(noDevices);
}
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
switch(v.getId()) {
case R.id.left:
int pos = (Integer) v.getTag();
Toast.makeText(this, "Left Accessory "+v.getTag(), Toast.LENGTH_SHORT).show();
break;
case R.id.right:
Toast.makeText(this, "Right Accessory "+v.getTag(), Toast.LENGTH_SHORT).show();
break;
default:
break;
}
}
@Override
public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
// TODO Auto-generated method stub
Toast.makeText(this, "Item Click "+position, Toast.LENGTH_SHORT).show();
}
}
嘗試'adapter.getItem(poistion)' – M4rtini
你能複製到下面的代碼。我不知道我必須包括那個。 – Peter