如何解决在不同的分类活动中显示不同的列表项
现在,我想列出不同类别的项目,例如:其中一家医院,其中一项必须包含名称,地址和电话号码,如果索引中的一种文本不可见,则我在适配器中创建了此if语句其他人,但对我没有任何帮助code
public class Data {
private String placeWord;
private String addressWord;
private String reason = ONE_TEXT;
private static final String ONE_TEXT = "ah";
public Data(String mPlaceWord,String mAddressWord){
placeWord = mPlaceWord;
addressWord = mAddressWord;
}
public Data(String theReson){
reason = theReson;
}
public String getPlaceWord(){
return placeWord;
}
public String getAddressWord(){
return addressWord;
}
public String getReason(){return reason;}
public boolean oneText(){
return reason != ONE_TEXT;
}
public class DataAdapter extends ArrayAdapter {
private int mColorResourceId;
public DataAdapter(@NonNull Context context,ArrayList<Data> resource,int ColorResourceId) {
super(context,resource);
mColorResourceId = ColorResourceId ;
}
@NonNull
@Override
public View getView(int position,@Nullable View convertView,@NonNull ViewGroup parent) {
View listitem = convertView;
if( listitem == null){
listitem = LayoutInflater.from(getContext()).inflate(R.layout.list_item,parent,false);
}
Data currentword = (Data) getItem(position);
TextView pd = (TextView) listitem.findViewById(R.id.placetxt);
pd.setText(currentword.getPlaceWord());
TextView ad = (TextView) listitem.findViewById(R.id.adddrestxt);
ad.setText(currentword.getAddressWord());
if (currentword.oneText()){
TextView ps = (TextView) listitem.findViewById(R.id.placetxt);
ps.setText(currentword.getReason());
} else{
pd.setVisibility(View.GONE);
ad.setVisibility(View.GONE);
}
View textContainer = listitem.findViewById(R.id.list_item);
// Find the color that the resource ID maps to
int color = ContextCompat.getColor(getContext(),mColorResourceId);
// Set the background color of the text container View
textContainer.setBackgroundColor(color);
return listitem;
}
}
解决方法
使用回收站视图,并将此逻辑添加到其适配器中。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。