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

다이얼로그 체크박스에서 체크를 한 후 다시 눌러도 체크된 상태로 유지하고 싶은데 도와주세요..

0 추천
@Override
    public boolean onMarkerClick(@NonNull Marker marker) {

        AlertDialog.Builder ad = new AlertDialog.Builder(this);

        mSelectedItems = new ArrayList<>();
        ad=new AlertDialog.Builder(GoogleMap.this);
        ad.setTitle(marker.getTitle());

        ad.setMultiChoiceItems(R.array.dialog,null,new DialogInterface.OnMultiChoiceClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which, boolean isChecked) {
                String[] items = getResources().getStringArray(R.array.dialog);
                if(isChecked){
                    mSelectedItems.add(items[which]);
                }
            }

            });
        ad.setPositiveButton("ok", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                String final_selection = "";
                for(String item : mSelectedItems){
                    final_selection=final_selection + "\n" + item;
                }
                Toast.makeText(getApplicationContext(), "확인" + final_selection, Toast.LENGTH_LONG).show();
            }

        });
        ad.setNegativeButton("취소", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                Toast.makeText(getApplicationContext(),"취소", Toast.LENGTH_LONG).show();
            }
        });
            
        AlertDialog alertDialog = ad.create();
        alertDialog.setOnShowListener(new DialogInterface.OnShowListener() {
            @Override
            public void onShow(DialogInterface dialog) {

            }
        });

        alertDialog.show();
       

        return false;
    }
}
kmhhh (120 포인트) 님이 2022년 11월 24일 질문

1개의 답변

0 추천
커스텀 레이아웃을 사용 dialog를 직접 구현하세요.
FrameLayout 같은 viewgrouo 안에 checkbox를 넣고 checkbox의 checkchangelister는 사용하지 마시고 framelayout의  onclicklistener를 사용하세요. 특정 조건을 체크하셔서  checkbox.setched에 직접 깂을 설정하세요.
spark (226,420 포인트) 님이 2022년 11월 24일 답변
...