在这里,我正在尝试根据我制作的布局创建一个自定义数组列表和自定义适配器,以显示 3 个文本视图和 3 个单独的字符串数组。
但是,我很难将字符串数组放入指定的设置器。我还是java新手,非常感谢帮助。现在,我想也许应该有一些方法可以在指定的 setter 中设置字符串数组。
所以这是我的自定义数组列表(Perrow.java)
public class Perrow {
String Arabic;
String transliteration;
String translation;
public Perrow(String arabic, String transliteration, String translation) {
Arabic = arabic;
this.transliteration = transliteration;
this.translation = translation;
}
public String getArabic() {
return Arabic;
}
public void setArabic(String arabic) {
Arabic = arabic;
}
public String getTransliteration() {
return transliteration;
}
public void setTransliteration(String transliteration) {
this.transliteration = transliteration;
}
public String getTranslation() {
return translation;
}
public void setTranslation(String translation) {
this.translation = translation;
}
}
和我的自定义适配器(PerrorAdapter)
public class PerrowAdapter extends ArrayAdapter<Perrow> {
private Context mContext;
private int mResource;
public PerrowAdapter(@NonNull Context context, int resource, @NonNull ArrayList<Perrow> objects) {
super(context, resource, objects);
this.mContext = context;
this.mResource = resource;
}
@NonNull
@Override
public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) {
LayoutInflater layoutInflater = LayoutInflater.from(mContext);
convertView = layoutInflater.inflate(mResource, parent, false);
TextView arabictext = convertView.findViewById(R.id.arabictext);
TextView transliteration = convertView.findViewById(R.id.transliteration);
TextView translation = convertView.findViewById(R.id.translation);
arabictext.setText(getItem(position).getArabic());
transliteration.setText(getItem(position).getTransliteration());
translation.setText(getItem(position).getTranslation());
return convertView;
}
}
现在,如果我使用 arraylist.add 手动输入其中三个,它确实有效。我需要在setter中设置字符串数组,这样字符串数组才能正常显示。