Android Open Source - ponyville-live-android Enum Adapter From Project Back to project page ponyville-live-android .
License The source code is released under:
Apache License
If you think the Android project ponyville-live-android listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.
Java Source Code package com.ponyvillelive.app.ui;
/ * f r o m w w w . j a v a 2 s . c o m * /
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import butterknife.ButterKnife;
class EnumAdapter<T extends Enum<T>> extends BindableAdapter<T> {
private final T[] enumConstants;
private final boolean showNull;
private final int nullOffset;
EnumAdapter(Context context, Class<T> enumType) {
this (context, enumType, false);
}
EnumAdapter(Context context, Class<T> enumType, boolean showNull) {
super (context);
this.enumConstants = enumType.getEnumConstants();
this.showNull = showNull;
this.nullOffset = showNull ? 1 : 0;
}
@Override
public final int getCount() {
return enumConstants.length + nullOffset;
}
@Override
public final T getItem(int position) {
if (showNull && position == 0) {
return null;
}
return enumConstants[position - nullOffset];
}
@Override
public final long getItemId(int position) {
return position;
}
@Override
public final View newView(LayoutInflater inflater, int position, ViewGroup container) {
return inflater.inflate(android.R.layout.simple_spinner_item, container, false);
}
@Override
public final void bindView(T item, int position, View view) {
TextView tv = ButterKnife.findById(view, android.R.id.text1);
tv.setText(getName(item));
}
@Override
public final View newDropDownView(LayoutInflater inflater, int position, ViewGroup container) {
return inflater.inflate(android.R.layout.simple_spinner_dropdown_item, container, false);
}
protected String getName(T item) {
return String.valueOf(item);
}
}
Java Source Code List com.ponyvillelive.app.DebugPvlModule.java com.ponyvillelive.app.Modules.java com.ponyvillelive.app.Modules.java com.ponyvillelive.app.PvlApp.java com.ponyvillelive.app.PvlModule.java com.ponyvillelive.app.model.ArrayResponse.java com.ponyvillelive.app.model.DebugData.java com.ponyvillelive.app.model.Entity.java com.ponyvillelive.app.model.MapResponse.java com.ponyvillelive.app.model.NowPlayingMeta.java com.ponyvillelive.app.model.ObjectResponse.java com.ponyvillelive.app.model.Show.java com.ponyvillelive.app.model.SongWrapper.java com.ponyvillelive.app.model.Song.java com.ponyvillelive.app.model.StationMeta.java com.ponyvillelive.app.model.Station.java com.ponyvillelive.app.net.API.java com.ponyvillelive.app.net.DebugNetModule.java com.ponyvillelive.app.net.MockAPI.java com.ponyvillelive.app.net.NetModule.java com.ponyvillelive.app.prefs.AnimationSpeed.java com.ponyvillelive.app.prefs.ApiEndpoint.java com.ponyvillelive.app.prefs.ApiEndpoints.java com.ponyvillelive.app.prefs.BooleanPreference.java com.ponyvillelive.app.prefs.Endpoint.java com.ponyvillelive.app.prefs.Endpoints.java com.ponyvillelive.app.prefs.IntPreference.java com.ponyvillelive.app.prefs.IsMockMode.java com.ponyvillelive.app.prefs.MockDownloader.java com.ponyvillelive.app.prefs.NetworkProxy.java com.ponyvillelive.app.prefs.ObjectPreference.java com.ponyvillelive.app.prefs.PicassoDebugging.java com.ponyvillelive.app.prefs.PixelGridEnabled.java com.ponyvillelive.app.prefs.PixelRatioEnabled.java com.ponyvillelive.app.prefs.ScalpelEnabled.java com.ponyvillelive.app.prefs.ScalpelWireframeEnabled.java com.ponyvillelive.app.prefs.SeenDebugDrawer.java com.ponyvillelive.app.prefs.StringPreference.java com.ponyvillelive.app.ui.ActionbarHideSlidePanelListener.java com.ponyvillelive.app.ui.ActivityHierarchyServer.java com.ponyvillelive.app.ui.AnimationSpeedAdapter.java com.ponyvillelive.app.ui.AppContainer.java com.ponyvillelive.app.ui.BindableAdapter.java com.ponyvillelive.app.ui.BottomDrawerFragment.java com.ponyvillelive.app.ui.DebugAppContainer.java com.ponyvillelive.app.ui.DebugUiModule.java com.ponyvillelive.app.ui.EnumAdapter.java com.ponyvillelive.app.ui.HierarchyTreeChangeListener.java com.ponyvillelive.app.ui.MainActivity.java com.ponyvillelive.app.ui.NetworkDelayAdapter.java com.ponyvillelive.app.ui.NetworkErrorAdapter.java com.ponyvillelive.app.ui.NetworkVarianceAdapter.java com.ponyvillelive.app.ui.ProxyAdapter.java com.ponyvillelive.app.ui.ServerEndpointAdapter.java com.ponyvillelive.app.ui.SocketActivityHierarchyServer.java com.ponyvillelive.app.ui.StationAdapter.java com.ponyvillelive.app.ui.StationFragment.java com.ponyvillelive.app.ui.TrackListAdapter.java com.ponyvillelive.app.ui.UiModule.java com.ponyvillelive.app.util.Strings.java