1
Ich benutze Roboletric und ich möchte das onClick in das Element "viewHolder.cardView" testen.Roboletric - Test onClick in benutzerdefinierte Adapterelement
Dies ist meine Art Adapter (das hat zwei Elemente). Ich habe bereits meine Liste und meinen Adapter erstellt, aber wie kann ich das onClick-Ereignis mit roboletric testen?
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
SimpleDateFormat dateFormat = new SimpleDateFormat(DATE_TIME_FORMAT, Locale.getDefault());
if (position < mMessageList.size()) {
ItemHolder viewHolder;
if (convertView == null) {
convertView = LayoutInflater.from(getContext())
.inflate(R.layout.item_list, parent, false);
viewHolder = new ItemHolder();
viewHolder.cardView = (RelativeLayout) convertView.findViewById(R.id.clickable_area);
viewHolder.txtDate = (TextView) convertView.findViewById(R.id.message_date);
convertView.setTag(viewHolder);
} else {
viewHolder = (ItemHolder) convertView.getTag();
}
final ItemModel item = mMessageList.get(position);
if (item != null) {
viewHolder.id = item.getId();
if (item.getTimestamp() != null){
viewHolder.txtDate.setText(dateFormat.format(item.getTimestamp()));
}
viewHolder.cardView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
addSelection();
}
});
viewHolder.cardView.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View view) {
return true;
}
});
viewHolder.cardView.setSelected(item.isSelected());
}
}
return convertView;
}
static class ItemHolder {
protected RelativeLayout cardView;
protected TextView txtDate;
}