如果这个问题已在某个地方得到解答,我道歉,但我无法找到解决此问题的任何问题。
我有一个很长的代码,扩展了ListActivity
。在CustomAdapter中,当调用getView时,我使用ClickableSpan
在我的ListItem文本中创建链接,并且效果很好。
问题是现在方法onListItemClick
无效(除了页脚,我没有设置ClickableSpan)。
问题:是否可以让onListItemClick
方法适用于所有ListItem,同时保持在文本中创建链接的ClickableSpan
的功能? / p>
以下是我使用ClickableSpan
在ListItems中创建链接的方法:
(这是在适配器的ListView中的TextView的getView方法中调用的,由ViewHolder持有)
tvTextView.setMovementMethod(LinkMovementMethod.getInstance());
Spannable spans = (Spannable) tvTextView.getText();
Pattern pattern = Pattern.compile("[a-zA-Z]*!");
final String str = tvTextView.getText().toString();
Matcher matcher = pattern.matcher(str);
while (matcher.find()){
final int start = matcher.start();
final int end = matcher.end();
ClickableSpan clickSpan = new ClickableSpan() {
@Override
public void onClick(View widget)
{
//do something
}
};
spans.setSpan(clickSpan, start, end, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
}
我尝试使用implements OnItemClickListener
作为类本身,但它的行为方式相同 - 只有在单击页脚时才会响应。
我尝试将android:focusable="false"
添加到我的ListItem XML中的视图中,但它没有用。
我尝试将android:focusableInTouchMode="false"
和android:clickable="false"
添加到我的ListItem XML中的视图中,但它没有用。
我尝试在我的XML中将android:descendantFocusability="blocksDescendants"
添加到我的布局中,但这也没有用。
我非常感谢任何建议。
提前致谢。