0
私はユニットのテストをしています。私はどこにピカソをロードイメージに使用していますか? アダプターをユニットテストするには、ピカソを擬似する必要があります。そのため、ネットワークからの実際のイメージはロードされません。ユニットテストアクティビティ/ピカソを使用するアダプター
私は1つを見つけました。SO question。しかし、それは時代遅れのようです。私はアンドロイドテストのサポートライブラリを使用しています。
簡単であるべきMyAdapter.java
public class MyAdapter extends ArrayAdapter<T> {
public PackageAdapter(Context context, ArrayList<T> data) {
super(context, 0, data);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
Model model = getItem(position);
ViewHolder vh;
if (convertView == null) {
vh = new ViewHolder();
LayoutInflater inflater = LayoutInflater.from(getContext());
convertView = inflater.inflate(R.layout.item_list, parent, false);
vh.imageItem = (ImageView) convertView.findViewById(R.id.iv_item_image);
vh.textViewItem = (TextView) convertView.findViewById(R.id.tv_item_name);
convertView.setTag(vh);
} else {
vh = (ViewHolder) convertView.getTag();
}
vh.textViewItem.setText(model.getName());
Picasso.with(context)
.load(model.getImagePath())
.into(vh.imageItem);
return convertView;
}
public static class ViewHolder {
ImageView imageItem;
TextView textViewItem;
}
}
したがって、コンストラクタ経由でPicassoインスタンスをアダプタに挿入する必要がありますか? – vsvankhede
はい、この場合はそうすべきです。 – pavle