다이얼로그 ok 클릭시 which가 왜 항상 -1이죠???
public void show_blelist() {
Log.e("NOTICE", "DEVICE LIST : " + mDeviceList);
ListAdapter adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, mDeviceList);
final CharSequence[] items = new CharSequence[adapter.getCount()];
for(int i=0 ; i< adapter.getCount() ; i++){
items[i] = mDeviceList.get(i);
}
//final CharSequence[] items = {"red", "green", "blue"};
AlertDialog.Builder dialog = new AlertDialog.Builder(this);
dialog.setIcon(R.mipmap.ic_launcher);
dialog.setTitle("BLE DEVICE LIST");
dialog.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(Info_activity.this, "which : " + which, Toast.LENGTH_SHORT).show();
Device elem = Engine.getInstance().getDevices().get(which+1);
Log.e("NOTICE", "elem :: " + elem);
if(!elem.isConnected()) {
Log.e("NOTICE", "elem connecting....");
mBluetoothLeService.connect(elem);
}
else {
Log.e("NOTICE", "elem is already connected...");
}
startServiceCharacteristic(elem.getAddress());
}
});
dialog.setNegativeButton("Cancel",new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();
}
});
dialog.setIcon(R.mipmap.ic_launcher);
dialog.setSingleChoiceItems(items, -1, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(Info_activity.this, "select : " + items[which], Toast.LENGTH_SHORT).show();
}
});
dialog.show();
}
위 소스에서
dialog.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(Info_activity.this, "which : " + which, Toast.LENGTH_SHORT).show();
여기서 which 값이 항상 -1 입니다..
3개의 선택창에서 두번째 선택해도..세번째 선택해도.....
제가 뭘 잘못하고 있는건가요?>