In my work, I have to add custom links (use custom tag) in each listview item. I met two problems and have searched by Google and stackoverflow, but no result... Here is the code segment and I process the tag with TagHandler.

TextView tv = (TextView)paramView.findViewById(R.id.tv_dynamics_desc);
tv.setClickable(true);
tv.setText(Html.fromHtml("<uc id=\"133\">This is a Uc link</uc>", null, this));
tv.setMovementMethod(LinkMovementMethod.getInstance()); 

The  problem is how to get the attribute: id.

@Override
public void handleTag(boolean opening, String tag, Editable output, XMLReader xmlReader) {
    if(tag.toLowerCase().startsWith("uc")) {
        if (opening) {
            //String id = xmlReader.getProperty( "id" ).toString();
  //<=== to get the attribute, but failed with exception of no such property.
            startClick(tag, output, xmlReader);  
        } else {  
            endClick(tag, output, xmlReader);  
        }
    }
}

xmlReader.getProperty( "id" ).toString(); does not work here. Is there any way to get the attribute directly? the ansow is "yes". but I don't know now~! I met the same problem and i will save it and record it at here!  

posted on 2013-05-20 17:13  smallerpig  阅读(276)  评论(0编辑  收藏  举报