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

item 체크하는방법좀 알 수 있을까요

0 추천

이것저것 따라해보는 입문자인데요. 

강의에서 나온 결과물들 다 집어넣고 응용 하면서 공부하고 있거든요.

public String[] items = {"calculator","MainActivity"};

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    Button listButton = (Button)findViewById(R.id.listButton);
    listButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
            builder.setTitle("리스트");
            builder.setItems(items, new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int i) {
                    Toast.makeText(getApplicationContext(),items[i],Toast.LENGTH_SHORT).show();
                }
            });
            AlertDialog alertDialog = builder.create();
            alertDialog.show();
        }
    });

리스트 버튼을 누르면 메뉴가 나오고, 그 메뉴를 누르면 메시지가 뜨는데

 

 

Intent intent =new Intent(main.this, sub.class);
main.this.startActivity(intent);

이 문장으로 메시지와 함께 화면바꿔줄려고할때

String[] item = {"d1","d2"};의 d1,d2를 체크하는 방법이 어떻게되는지 알 수 있을가요?

 

BlackCancer (210 포인트) 님이 2017년 3월 4일 질문
d1, d2를 체크한다는 게 무슨 뜻인가요?

1개의 답변

+1 추천
 
채택된 답변
DialogInterface.OnclickListener를 사용하실때 onClick 오버라이드 함수에는 두번째 파라미터 (int which)가 있습니다.

이 which가 선택한 아이템의 position을 알려줍니다.

이 which값으로 사용자가 선택한 값을 알 수 있습니다.
Development Guy (70,570 포인트) 님이 2017년 3월 6일 답변
BlackCancer님이 2017년 3월 6일 채택됨
감사합니다. 두번째 파라미터의 int i로 한부분을 보긴했는데 이것을 어떻게 지정하고 array처리해야 하나 고민을했었거든요.
 if (i == 0){
MainActivity.this.startActivity(d1);
 }
else if (i == 1){
MainActivity.this.startActivity(d2);
}

i에다 바로 쓰면 되는거였군요. 제가 너무 복잡하게 생각했나봐요
...