package de.tudarmstadt.informatik.hostage.ui2.adapter; import android.content.Context; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.view.animation.Animation; import android.view.animation.AnimationUtils; import android.widget.ArrayAdapter; import android.widget.ImageButton; import android.widget.ImageView; import android.widget.RelativeLayout; import android.widget.TextView; import android.widget.ViewSwitcher; import com.fortysevendeg.android.swipelistview.SwipeListView; import java.util.List; import de.tudarmstadt.informatik.hostage.R; import de.tudarmstadt.informatik.hostage.ui2.model.ProfileListItem; /** * @author Alexander Brakowski * @created 14.01.14 18:00 */ public class ProfileManagerListAdapter extends ArrayAdapter { private class ViewHolder { public TextView labelView; public TextView textView; public ImageView imageSelected; public ImageView itemIcon; public ImageButton buttonEdit; public ImageButton buttonDelete; } private final Context context; private final List values; public ProfileManagerListAdapter(Context context, List objects) { super(context, R.layout.profile_manager_list_item, objects); this.context = context; this.values = objects; } @Override public View getView(final int position, View convertView, ViewGroup parent) { LayoutInflater inflater = (LayoutInflater) context .getSystemService(Context.LAYOUT_INFLATER_SERVICE); View rowView = convertView; ViewHolder holder = null; final ProfileListItem item = values.get(position); if(rowView == null){ rowView = inflater.inflate(R.layout.profile_manager_list_item, parent, false); holder = new ViewHolder(); holder.labelView = (TextView) rowView.findViewById(R.id.profile_manager_item_label); holder.textView = (TextView) rowView.findViewById(R.id.profile_manager_item_text); holder.imageSelected = (ImageView) rowView.findViewById(R.id.profile_manager_item_activated); holder.itemIcon = (ImageView) rowView.findViewById(R.id.profile_manager_item_image); holder.buttonEdit = (ImageButton) rowView.findViewById(R.id.profile_manager_item_button_edit); holder.buttonDelete = (ImageButton) rowView.findViewById(R.id.profile_manager_item_button_delete); rowView.setTag(holder); } else { holder = (ViewHolder) rowView.getTag(); } ((SwipeListView)parent).recycle(rowView, position); holder.textView.setText(item.label); holder.labelView.setText(item.text); holder.itemIcon.setImageBitmap(item.icon); if(!item.activated){ RelativeLayout.LayoutParams lp = (RelativeLayout.LayoutParams )holder.textView.getLayoutParams(); lp.setMargins(0,0,0,0); holder.textView.setLayoutParams(lp); holder.imageSelected.setVisibility(View.GONE); } return rowView; } }