Android Open Source - EnklawaPlayer Programs Adapter From Project Back to project page EnklawaPlayer .
License The source code is released under:
GNU General Public License
If you think the Android project EnklawaPlayer 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 macbury.pod.adapters;
/ * 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.MotionEvent;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;
import com.koushikdutta.ion.Ion;
import java.util.ArrayList;
import java.util.List;
import macbury.pod.R;
import macbury.pod.db.models.Program;
/**
* Created by macbury on 12.09.14.
*/
public class ProgramsAdapter extends BaseAdapter {
private static final String TAG = "ProgramsAdapter" ;
private final Context context;
private final ArrayList<Program> programs;
private final ProgramsAdapterListener listener;
public ProgramsAdapter(Context context, List<Program> programs, ProgramsAdapterListener listener) {
this.context = context;
this.listener = listener;
this.programs = new ArrayList<Program>();
set(programs);
}
public void set(List<Program> nprogs) {
this.programs.clear();
this.programs.addAll(nprogs);
this.notifyDataSetChanged();
}
@Override
public int getCount() {
return programs.size();
}
@Override
public Program getItem(int position) {
return programs.get(position);
}
@Override
public long getItemId(int position) {
return getItem(position).id;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ProgramHolder holder;
if (convertView == null) {
holder = new ProgramHolder();
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = inflater.inflate(R.layout.program_grid_item, parent, false);
holder.programPreview = (ImageView)convertView.findViewById(R.id.program_preview);
holder.programTitle = (TextView)convertView.findViewById(R.id.program_title);
holder.convertView = convertView;
holder.convertView.setOnTouchListener(holder);
convertView.setTag(holder);
} else {
holder = (ProgramHolder)convertView.getTag();
}
Program program = getItem(position);
holder.position = position;
Ion.with(context).load(program.image).withBitmap().placeholder(R.drawable.placeholder).intoImageView(holder.programPreview);
holder.programTitle.setText(program.name);
return convertView;
}
public class ProgramHolder implements View.OnTouchListener {
public ImageView programPreview;
public TextView programTitle;
public View convertView;
public int position;
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN: {
convertView.setAlpha(0.6f);
convertView.invalidate();
break ;
}
case MotionEvent.ACTION_UP:
listener.onProgramSelect(getItem(position));
case MotionEvent.ACTION_CANCEL: {
convertView.setAlpha(1f);
convertView.invalidate();
break ;
}
}
return true;
}
}
public interface ProgramsAdapterListener {
public void onProgramSelect(Program program);
}
}
Java Source Code List macbury.pod.ApplicationTest.java macbury.pod.activities.DonateActivity.java macbury.pod.activities.ProgramEpisodesActivity.java macbury.pod.activities.SettingsActivity.java macbury.pod.activities.ext.AccentFragmentActivity.java macbury.pod.activities.main.MainActivityActionBarToggle.java macbury.pod.activities.main.MainActivity.java macbury.pod.activities.main.NavigationController.java macbury.pod.activities.main.NavigationListener.java macbury.pod.activities.player.PlayerActivity.java macbury.pod.activities.player.RadioActivity.java macbury.pod.adapters.EpisodesAdapterListener.java macbury.pod.adapters.EpisodesAdapter.java macbury.pod.adapters.ProgramsAdapter.java macbury.pod.api.APICategory.java macbury.pod.api.APIEpisode.java macbury.pod.api.APIProgram.java macbury.pod.api.APIResponse.java macbury.pod.api.APIThread.java macbury.pod.db.DatabaseCRUDListener.java macbury.pod.db.models.EnqueueEpisode.java macbury.pod.db.models.EpisodeFile.java macbury.pod.db.models.Episode.java macbury.pod.db.models.ForumThread.java macbury.pod.db.models.Program.java macbury.pod.db.scopes.AbstractScope.java macbury.pod.db.scopes.EnqueueEpisodeScope.java macbury.pod.db.scopes.EpisodeFilesScope.java macbury.pod.db.scopes.EpisodesScope.java macbury.pod.db.scopes.ProgramsScope.java macbury.pod.db.scopes.ThreadScope.java macbury.pod.dialogs.EpisodeAboutDialog.java macbury.pod.dialogs.ProgramAboutDialog.java macbury.pod.extensions.Converter.java macbury.pod.extensions.DateDeserializer.java macbury.pod.extensions.SleepTimer.java macbury.pod.fragments.SettingsFragment.java macbury.pod.fragments.main.AbstractEpisodesFragment.java macbury.pod.fragments.main.AllProgramsFragment.java macbury.pod.fragments.main.EnklawaBaseAbstractListFragment.java macbury.pod.fragments.main.episodes.DownloadedEpisodesFragment.java macbury.pod.fragments.main.episodes.NewestEpisodesFragment.java macbury.pod.fragments.main.episodes.PlaylistFragment.java macbury.pod.fragments.main.episodes.ProgramEpisodesFragment.java macbury.pod.fragments.player.ExternalPlayerFragment.java macbury.pod.fragments.player.PlayerArtworkAndInfoFragment.java macbury.pod.fragments.player.PlayerControllerFragment.java macbury.pod.managers.AlarmsManager.java macbury.pod.managers.App.java macbury.pod.managers.BroadcastsManager.java macbury.pod.managers.DatabaseManager.java macbury.pod.managers.IntentManager.java macbury.pod.managers.NotificationsManager.java macbury.pod.managers.ServiceManager.java macbury.pod.managers.SettingsManager.java macbury.pod.managers.StorageManager.java macbury.pod.managers.download.DownloadEpisode.java macbury.pod.managers.download.DownloadManagerListener.java macbury.pod.managers.download.DownloadManager.java macbury.pod.managers.player.PlaybackStatus.java macbury.pod.managers.player.PlayerManagerListener.java macbury.pod.managers.player.PlayerManager.java macbury.pod.managers.player.sources.AbstractMediaSource.java macbury.pod.managers.player.sources.EpisodeMediaSource.java macbury.pod.managers.player.sources.RadioMediaSource.java macbury.pod.navigation_drawer.NavAdapter.java macbury.pod.navigation_drawer.NavBaseItem.java macbury.pod.navigation_drawer.NavDivider.java macbury.pod.navigation_drawer.items.AllProgramsNavItem.java macbury.pod.navigation_drawer.items.DownloadedEpisodesNavItem.java macbury.pod.navigation_drawer.items.FavoriteProgramNavItem.java macbury.pod.navigation_drawer.items.ForumNavItem.java macbury.pod.navigation_drawer.items.NavItemFragment.java macbury.pod.navigation_drawer.items.NewestEpisodesNavItem.java macbury.pod.navigation_drawer.items.PlayQueueNavItem.java macbury.pod.receivers.BootReceiver.java macbury.pod.receivers.MediaButtonReceiver.java macbury.pod.services.DownloadService.java macbury.pod.services.PlayerService.java macbury.pod.services.SyncPodService.java macbury.pod.tutorial.MainActivityTutorial.java macbury.pod.views.TappableFrameLayout.java