마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

다이얼로그 포지션 값이 이상한데요??

0 추천

다이얼로그 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개의 선택창에서 두번째 선택해도..세번째 선택해도.....

제가 뭘 잘못하고 있는건가요?>

 

 

 

 

앤드류이드 (6,190 포인트) 님이 2016년 7월 21일 질문

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...