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

안드로이드 스튜디오 Vector

0 추천
protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_page1);

        final TextView textView1 = (TextView) findViewById(R.id.textView1);
        Button button2 = (Button) findViewById(R.id.button2);
        button2.setOnClickListener(new View.OnClickListener() {
            public void onClick(View view) {        //버튼을 클릭했을떄
                Vector<String> vc = new Vector<String>();
                Random rnd = new Random();

                vc.add("라나다");
                vc.add("라다");
                vc.add("카다");
                vc.add("쿠다");
                vc.add("케케");
                vc.add("다다");

                   textView1.setText(vc.get(rnd.nextInt(vc.size())));
                   vc.remove(vc.get(rnd.nextInt(vc.size())));
            }
        });
    }
}
버튼 클릭시 랜덤으로 뽑은 후 그걸 바로 remove로 
삭제를 해서 중복 방지 하려고 했는데 이게 버튼을 클릭하니까 
다시 리셋이 되는지 똑같은게 또 나와요..
그리고 이게 잘 돌아가는지도 모르겠구여...
 
그리고 질문하면 제대로 안알려주시고 묻히는 경우가 많은데...자세히 설명 좀 부탁드려요..
고어민 (180 포인트) 님이 2016년 11월 8일 질문

1개의 답변

0 추천
의도하는게 뭔지 대충은 알겠으나

질문자님이 크게 두가지를 잘못 생각하고 계십니다.

전체 6개의 아이템이 있다고 했을때 그것을 1개씩 빼면서 중복 제거를 원하시는거 같은데

그렇게 하려면 사용하고 계시는 Vector가 필드가 되어야 겠죠.

 

그리고 또 1가지가 random 객체의 nextInt함수를 호출할떄마다 랜덤값이 출력됩니다.

textview에 출력한 값을 중복제거를 위해 삭제하고 싶으신것이면 setText시점의 nextInt로 나온 값을 유지하고 있다가 그대로 vector에 remove할때도 사용 해야 맞을거 같아요.
Development Guy (70,570 포인트) 님이 2016년 11월 8일 답변
...