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

리스트뷰에서 체크박스 체크시 체크해제시 기능 부여 질문합니다.

0 추천
        listViewSliding = (ListView) findViewById(R.id.lv_sliding_menu);
        drawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);

        final ArrayList<String> listSliding = new ArrayList<String>();


        adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_multiple_choice,listSliding);

        listSliding.add("터치시 진동");
        listSliding.add("화면 항상 켜기");
        listSliding.add("화면 회전");

        listViewSliding.setAdapter(adapter);
        listViewSliding.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);

        listViewSliding.setOnItemClickListener(new AdapterView.OnItemClickListener(){
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {

            if(position==0){
                Vibrator vibe = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
                vibe.vibrate(200);
            }

            if(position ==1){
                if(true){
                    getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
                }else{
                    getWindow().clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
                }

            }

            if(position ==2){
                if(true){
                    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
                }
                else{
                    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
                }


            }

            }
        });


리스트뷰에 체크박스를 멀티플로 주어서


 
리스트뷰에 포지션이 0 체크가 되었을때는 터치시 진동을 구현하고

 
리스트뷰에 포지션이 1이 체크가 되었을때는 화면 항상 켜기를 체크가 해제되었을때는 화면이 항상 켜지지않게하고

 
리스트뷰에 포지션2가 체크되었을때는 화면 회전되어 가로로 나타나게 하고

 
다시 체크가 해제되었을때는 화면이 회전되어 세로로 나타나게 하려고 하는데...


 
저렇게 구현 해보았는데 마지막 화면이 다시 세로로 안돌아 가더라구요..뭐가 잘못된것일까요?

 

핸쨔응 (140 포인트) 님이 2016년 4월 28일 질문

1개의 답변

0 추천
if(true)이부분이 이상하다고 생각하시지 않으시는지요???

항상 트루이니 else를 탈리가 없죠~~!
ThisPlus (46,920 포인트) 님이 2016년 4월 28일 답변
...