列表视图中的列表项是否可以在选中时加下划线?我使用自定义布局(textview)列表项
myList.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
myList.setOnItemClickListener(new AdapterView.OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
Cursor cursor = (Cursor) myList.getItemAtPosition
(position);
String title = cursor.getString(cursor.getColumnIndex(DBAdapter.KEY_NAME));
s.append(title);
// Toast.makeText(getBaseContext(), s, Toast.LENGTH_LONG).show();
TextView shopName = (TextView)findViewById(R.id.item_version);
SpannableString content = new SpannableString(shopName.getText());
content.setSpan(new UnderlineSpan(), 0, content.length(), 0);
shopName.setText(content);
}
});
答案 0 :(得分:0)
如果要在TextView中为文本加下划线,可以使用html标记<u> </u>
,只需更改所选textView的文本,例如:
String underlined = "<u>" + textView.getText() + "</u>";
textView.setText(Html.fromHtml(underlined));
或者“像老板一样”:D:
SpannableString content = new SpannableString(textView.getText());
content.setSpan(new UnderlineSpan(), 0, content.length(), 0);
textView.setText(content);
或另一种方式:
textview.setPaintFlags(textview.getPaintFlags()|Paint.UNDERLINE_TEXT_FLAG);
在所有情况下,textView都是您的TextView
。我认为第二种方法可能比其他方法更好。
希望这有助于你:)