无法在字符串中加下划线

时间:2019-06-21 15:00:10

标签: android

我的问题是不要重复,请结束。

我在recyclerView的Java代码中使用了字符串资源,但是标记在我的字符串中被完全忽略。我不知道该错误是由我引起的,还是Android特有的。

那是我的代码:

public class MainActivity extends AppCompatActivity implements SearchView.OnQueryTextListener {

private Toolbar toolbar;
RecyclerView recyclerView;
RecyclerviewAdapter myRecAdapter;
List<ObjetCodePenale> list;
String searchString="";

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_code_penale);
toolbar = findViewById(R.id.toolbar);
toolbar.setTitle("");
setSupportActionBar(toolbar);

list = new ArrayList<>();
list.add(0, new ObjetCodePenale("Article 1.- Contenu", getResources().getString(R.string.article1)));
list.add(1, new ObjetCodePenale("Article 2.- Application generale et speciale ",
    "The RecyclerView widget is a more advanced and flexible version of ListView."));
 recyclerView = findViewById(R.id.recyclerview);
 recyclerView.setHasFixedSize(true);
 myRecAdapter = new RecyclerviewAdapter(list, CodePenale.this);
 recyclerView.setLayoutManager(new LinearLayoutManager(CodePenale.this));
 recyclerView.setAdapter(myRecAdapter);
 }

 @Override
 public boolean onQueryTextSubmit(String query) {
 return false;
 }

 @Override
 public boolean onQueryTextChange(String newText) {
 final List<ObjetCodePenale> filteredModelList = filter(list, newText);
 if (filteredModelList.size() > 0) {
  myRecAdapter.setFilter(filteredModelList);
  return true;
 } else {
  Toast.makeText(CodePenale.this, "Aucun Résultat", Toast.LENGTH_SHORT).show();
  return false;
}
}

以下是我的string.xml中可用的资源:

<string name="article1">Le Code <u>Penal</u> comprend:\n
a) le Livre I, constitue des articles 1 a 101;\n
b) le Livre II , constitue des articles 102 a 361 ;\n

ARTICLE 1-1.-Aucune exemption\n
La loi penale s\'impose a tous.
</string>

尽管“ Penal”一词位于标签之间,但在我执行该应用程序时并没有加下划线。我想了解我在做什么错。任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:0)

您将要使用getText()而不是getString()

答案 1 :(得分:0)

改用SpannableString:

String yourString = getString(R.string.yourStringId);
SpannableString ss = new SpannableString(yourString );
ss.setSpan(new UnderlineSpan(), startIndex, endIndex, 0);
textView.setText(content);

startIndex-该部分在字符串中的开始位置; endIndex-该部分的结束位置。