Skip to content Skip to sidebar Skip to footer

Listview Onclick Event Doesn't Fire With Linkified Email Address

I have a straight forward ListView with a ListAdapter and custom onItemClick method for the list. My ListView items are clickable to perform other functions. However, some of my Li

Solution 1:

Answer :

After a lot of more searching (which I already did, but not far enough apparently), I finally found this page.

Example code: My page (LinearLayout containing the listView) assigns a ListViewAdapter which creates the various ListView items, assigns itself as the OnClick listener and adds the ListView:

list.setAdapter(adapter);
list.setOnItemClickListener(this);
addView(list);

The ListViewAdapter creates each ListView item and assigns it's content, linkifying email addresses when needed:

public View getView(int position, View convertView, ViewGroup parent) {
    Viewview= layoutInflater.inflate(R.layout.list_item_layout, null);
    TextViewtextView= (TextView) view.findViewById(R.id.item_text);
    textView.setText(<some email address>);
    Linkify.addLinks(textView, Linkify.EMAIL_ADDRESSES);
}

The solution is easy, using the code on the page I found. I created a LinkTextView class descending from TextView and added the method described on the page. After the Linkify.addLinks call above I added the statement:

textView.setMovementMethod(null);

The ListView item and linkified text are now both clickable once again.

Again, my deepest appologies for not searching further before asking the question to begin with.

Solution 2:

Just add android:descendantFocusability="blocksDescendants" to xml definition of list item.

Source: http://www.thekeyconsultant.com/2013/06/android-quick-tip-linkify-and-listviews.html?m=1

Post a Comment for "Listview Onclick Event Doesn't Fire With Linkified Email Address"