안드로이드 개발 질문/답변
(글 수 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을 통한 링크를 못겁니다..ㅜㅜ


