我的问题是不要重复,请结束。
我在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”一词位于标签之间,但在我执行该应用程序时并没有加下划线。我想了解我在做什么错。任何帮助将不胜感激。
答案 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-该部分的结束位置。