为选定的列表视图项添加下划线

时间:2015-11-17 08:20:51

标签: android listview

列表视图中的列表项是否可以在选中时加下划线?我使用自定义布局(textview)列表项

这就是我想要实现的目标: enter image description here

 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);
        }
    });

1 个答案:

答案 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。我认为第二种方法可能比其他方法更好。

希望这有助于你:)