15.11.2016
public class SettingsAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder>{
int lastPosition = -1;
@Override
public int getItemCount(){
return settingItems.size();
}
@Override
public void onBindViewHolder(RecyclerView.ViewHolder holder, int i){
if(holder instanceof SettingViewHolder){
final SettingItem si = settingItems.get(i);
SettingViewHolder settingViewHolder = (SettingViewHolder) holder;
settingViewHolder.name.setText(si.getName());
if(!si.getValue().equals("")){
settingViewHolder.value.setText(Html.fromHtml(si.getValue()));
}
else settingViewHolder.value.setText("");
settingViewHolder.icon.setImageResource(Icons.getSystemInfoIcon(si.getType()));
View.OnClickListener ocl = si.getOnClickListener();
if(ocl != null){
settingViewHolder.container.setOnClickListener(ocl);
}
setAnimation(((SettingViewHolder) holder).container, i);
}
}
public void setAnimation(View viewToAnimate, int position){
if(position > lastPosition){
Animation animation = AnimationUtils.loadAnimation(getContext(), R.anim.recycler_animation);
viewToAnimate.startAnimation(animation);
lastPosition = position;
}
}
@Override
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup viewGroup, int viewType){
View itemView = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.value_item, viewGroup, false);
return new SettingViewHolder(itemView);
}
public class SettingViewHolder extends RecyclerView.ViewHolder{
protected TextView value, name;
protected ImageView icon;
protected View container;
public SettingViewHolder(View v){
super(v);
container = v.findViewById(R.id.container);
value = (TextView) v.findViewById(R.id.value);
name = (TextView) v.findViewById(R.id.name);
icon = (ImageView) v.findViewById(R.id.icon);
}
}
}
/**
* Gibt anhand des übergebenene Key's den passenden Icon zurück
* @param key
* @return
*/
public static int getSystemInfoIcon(String key){
switch(key){
default:
return R.mipmap.ic_launcher;
}
}
/**
* Gibt anhand des übergebenen Key's den passenden Icon zurück
* @param key
* @return
*/
public static int getValueIcon(String key){
switch(key){
default:
return R.mipmap.ic_launcher;
}
}
/**
* Gibt anhand des übergebenen Key's den passenden Icon zurück
* @param key
* @return
*/
public static int getDeviceIcon(String key){
switch(key){
default:
return R.mipmap.ic_launcher;
}
}
android:layout_height="match_parent"
android:layout_height="wrap_content"
Dieser Beitrag hat dir gefallen?
Dann abonniere doch unseren Newsletter!