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

동적으로 생성한 TextView를 클릭시 삭제하고 싶은데요!!

0 추천

버튼을 누르면

TextView word=new TextView(getActivity().getApplicationContext());
        LinearLayout.LayoutParams llp = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);
        llp.setMargins(20,20,20,20);
        word.setLayoutParams(llp);
        word.setBackgroundColor(Color.parseColor("#00FFFFFF"));
        word.setTextColor(Color.parseColor("#000000"));
        word.setTextSize(18);
        word.setTypeface(typeface);
        word.setGravity(Gravity.LEFT);
        word.setText(et.getText().toString());
        wordContainer.addView(word);
 
이런식으로 TextView를 동적으로 생성합니다!! 그런데 생성된 TextView를 클릭하게되면 삭제를 하고 싶은데요
xml에 아이디도 없고 어떤식으로 해당 View를 가져와서 삭제 처리해야할지 모르겠습니다..
도움 부탁드려요 ㅠㅠ
higuru (500 포인트) 님이 2015년 5월 26일 질문

2개의 답변

0 추천
생성하신 텍스트뷰.set visibility(view.gone)
또는
동적생성텍스트뷰.setid(I) 아이디 말들고
Hashmap a<text view, integer>
동적 생성할땨마다 해쉬맵에 담고
걸고
a.put(동적으로 생성한 텍스트뷰,  동적생성한텍스트뷰.getid)

On click(view v){
 a.get(v.getid)  이렇게 뽑아서 처리
쿵뿌팬더 (3,440 포인트) 님이 2015년 5월 26일 답변
쿵뿌팬더님이 2015년 5월 26일 수정
0 추천
어차피 생성된 word에 setOnClickListener를 다실텐데, 거기에 onClick에 View v가 넘어오겠죠?

onClick의 v는 클릭된 뷰를 의미하니 v == word니까 wordContainer.removeView(v) 이렇게 하시면 되지 않겠습니까.
천도복숭아 (6,080 포인트) 님이 2015년 5월 27일 답변
...