我有一个非常简单的RecyclerView,但我想要传递给视图的字符串上的自定义字体。我有一些额外的东西,但你可以忽略那些代码。这里是我的适配器:如何在RecyclerView中使用的字符串上使用自定义字体?
public class Adapter extends RecyclerView.Adapter<Adapter.Holder> {
private List<ListItem> ListData;
private LayoutInflater inflater;
private ItemClickCallBack itemClickCallBack;
public interface ItemClickCallBack {
void onItemClick(int p);
void onSecondaryClick(int p);
}
public void setItemClickCallBack(final ItemClickCallBack itemClickCallBack){
this.itemClickCallBack= itemClickCallBack;
}
public Adapter(List<ListItem> ListData, Context context) {
inflater = LayoutInflater.from(context);
this.ListData = ListData;
}
@Override
public Holder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = inflater.inflate(R.layout.list_item, parent, false);
return new Holder(view);
}
@Override
public void onBindViewHolder(Holder holder, int position) {
ListItem item = ListData.get(position);
holder.title.setText(item.getTitle());
holder.subtitle.setText(item.getSubTitle());
if(item.isStar()){
holder.thumbnail.setImageResource(R.drawable.ic_star_black_24dp);
}else{
holder.thumbnail.setImageResource(R.drawable.ic_star_border_black_24dp);
}
}
@Override
public int getItemCount() {
return ListData.size();
}
public void setListData (ArrayList<ListItem> exerciseList){
this.ListData.clear();
this.ListData.addAll(exerciseList);
}
class Holder extends RecyclerView.ViewHolder implements View.OnClickListener {
private TextView title;
private View container;
private TextView subtitle;
private ImageView avatar;
private ImageView thumbnail;
public Holder(View itemView) {
super(itemView);
title = (TextView) itemView.findViewById(R.id.textRoot);
container = itemView.findViewById(R.id.listItem);
container.setOnClickListener(this);
subtitle = (TextView) itemView.findViewById(R.id.txt_subtitle);
thumbnail = (ImageView) itemView.findViewById(R.id.secondaryIcon);
thumbnail.setOnClickListener(this);
avatar = (ImageView) itemView.findViewById(R.id.img_avatar);
}
@Override
public void onClick(View v) {
if(v.getId() == R.id.listItem){
itemClickCallBack.onItemClick(getAdapterPosition());
}else{
itemClickCallBack.onSecondaryClick(getAdapterPosition());
}
}
}
}
这是我的数据被保存。我知道我几次运行同样的东西,但我只是看到了滚动。不管怎么说,这里是代码:
public class Data {
final private static String duas[] = {"Hello to you","Bye to you","Walaa"};
final private static String Trans[] = {"Hmmmm", "Bruh","Khalas"};
private final static int face = R.drawable.ic_tag_faces_black_24dp;
public static List<ListItem> getListData() {
List<ListItem> data = new ArrayList<>();
for (int x = 0; x < 4; x++) {
for (int i = 0; i < duas.length; i++) {
ListItem item = new ListItem();
item.setTitle(duas[i]);
item.setSubTitle(Trans[i]);
data.add(item);
}
}
return data;
}
}
如果它是不可能把一个自定义字体上的绳子,什么话我必须做的,使我的所有数据一个TextView?
谢谢
沙鲁克·拉扎
谢谢,没有的伎俩! –