突出显示 RecyclerView 列表中的 textview
Highlight textview inside RecyclerView list
我正在使用回收器视图来显示列表,它主要包含一个 ID 和值。现在,当我单击列表中的项目时,只有值应该变为粗体或突出显示,如果我 select 任何其他项目,先前突出显示的项目应该变为正常,并且 selected 项目应该变为粗体。
我可以突出显示值(基本上是文本视图)。但问题是,如果我 select 任何其他项目,它不会删除以前 selected 项目粗体。
以下是一段代码,点击项目值时它会将值加粗
final ReturnPackageModel model = PackagesList.get(position);
...........................................................
...........................................................
holder.packageId.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
mTextClickListener.onTextClick(view,position,PackagesList);
holder.packageId.setTypeface(null, Typeface.BOLD);
model.setTapped(true);
}
});
onTextClick 是我在 activity 中使用的回调函数。
如有任何帮助,将不胜感激谢谢。
我建议您通过在模型中放置一个布尔字段 isSelect 和一个整数字段 lastSelected[=17= 来使用您的数据模型来跟踪选择索引] 在适配器中
when click at i
list(i).setIsSelect(true)
list(lastSelected).setIsSelect(false)
notifyItemChangedAt(i)
notifyItemChangedAt(lastSelected)
lastSelected = i
现在在绑定视图方法中使用 s=isSelect 字段来突出显示文本
将列表中其他项目的点击状态设置为 false
点击其中一项。
holder.packageId.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
mTextClickListener.onTextClick(view,position,PackagesList);
holder.packageId.setTypeface(null, Typeface.BOLD);
model.setTapped(true);
for (int i = 0; i < MyList.size(); i++) {
ReturnPackageModel model1= PackagesList.get(i);
if(position != i){
model.setTapped(false);
notifyDatasetChanged()
}
}
}
});
我正在使用回收器视图来显示列表,它主要包含一个 ID 和值。现在,当我单击列表中的项目时,只有值应该变为粗体或突出显示,如果我 select 任何其他项目,先前突出显示的项目应该变为正常,并且 selected 项目应该变为粗体。
我可以突出显示值(基本上是文本视图)。但问题是,如果我 select 任何其他项目,它不会删除以前 selected 项目粗体。
以下是一段代码,点击项目值时它会将值加粗
final ReturnPackageModel model = PackagesList.get(position);
...........................................................
...........................................................
holder.packageId.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
mTextClickListener.onTextClick(view,position,PackagesList);
holder.packageId.setTypeface(null, Typeface.BOLD);
model.setTapped(true);
}
});
onTextClick 是我在 activity 中使用的回调函数。
如有任何帮助,将不胜感激谢谢。
我建议您通过在模型中放置一个布尔字段 isSelect 和一个整数字段 lastSelected[=17= 来使用您的数据模型来跟踪选择索引] 在适配器中
when click at i
list(i).setIsSelect(true)
list(lastSelected).setIsSelect(false)
notifyItemChangedAt(i)
notifyItemChangedAt(lastSelected)
lastSelected = i
现在在绑定视图方法中使用 s=isSelect 字段来突出显示文本
将列表中其他项目的点击状态设置为 false
点击其中一项。
holder.packageId.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
mTextClickListener.onTextClick(view,position,PackagesList);
holder.packageId.setTypeface(null, Typeface.BOLD);
model.setTapped(true);
for (int i = 0; i < MyList.size(); i++) {
ReturnPackageModel model1= PackagesList.get(i);
if(position != i){
model.setTapped(false);
notifyDatasetChanged()
}
}
}
});