안드로이드 개발 질문/답변
(글 수 45,052)
리스트뷰 속에는 텍스트뷰가 존재하고 있습니다. 텍스트뷰에는 SpannableStringBuilder를 이용해서 링크를 먹여놨구요..
이 경우 SpannableStringBuilder의 링크는 먹는데 리스트 뷰의 클릭 이벤트를 안먹네요
텍스트 뷰의 내용을 일반 스트링으로 채우면 리스트 뷰의 클릭은 먹구요..
예를 들어
'저의 홈페이지는 http://abc.com 입니다,'
위의 경우 http://abc.com을 누를경우 해당 링크로.. 다른 부분을 누를경우 리스트의 클릭 이벤트를 먹게 하고 싶습니다..
//main Class lv.setOnItemClickListener(new OnItemClickListener() { public void onItemClick(AdapterView<?> parent, View view, int pos, long id){ Log.i("~~Main~~", "Cick from ListView"); } } //Custom ArrayAdapter Class SpannableStringBuilder spanstr = new SpannableStringBuilder(str); spanstr.setSpan(new MyClickable() { @Override public void onClick(View widget) { Log.i("~Adapter~", "Cick from adapter"); } }, 10, 20, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); bt.setText(spanstr); //bt.setText(str); //<<로 하게되면 위쪽의 링크가 잘 먹는 대신에 setSpan을 통한 링크를 못겁니다..ㅜㅜ