Android Open Source - hubblog Articles Adapter From Project Back to project page hubblog .
License The source code is released under:
MIT License
If you think the Android project hubblog 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.donskifarrell.Hubblog.Activities.Adapters;
/ * w w w . j a v a 2 s . c o m * /
import android.content.Context;
import android.graphics.drawable.Drawable;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.BaseAdapter;
import android.widget.TextView;
import com.donskifarrell.Hubblog.Providers.Data.Article;
import com.donskifarrell.Hubblog.Providers.Data.Site;
import com.donskifarrell.Hubblog.Interfaces.OnSidebarListItemSelected;
import com.donskifarrell.Hubblog.R;
/**
* Created with IntelliJ IDEA.
* User: donski
* Date: 18/11/13
* Time: 20:26
*/
public class ArticlesAdapter extends BaseAdapter {
private final Site site;
private final LayoutInflater inflater;
private static Drawable editIcon;
private static Drawable tickIcon;
private Context context;
private OnSidebarListItemSelected callback;
public ArticlesAdapter(Context aContext, Site aSite) {
context = aContext;
inflater = LayoutInflater.from(context);
site = aSite;
try {
callback = (OnSidebarListItemSelected) context;
} catch (ClassCastException e) {
throw new ClassCastException(context.toString()
+ " must implement OnUpdatePreviewListener" );
}
}
@Override
public int getCount() {
return site.getArticles().size();
}
@Override
public Object getItem(int position) {
return site.getArticles().get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
final ViewHolder holder;
if (convertView == null) {
convertView = inflater.inflate(R.layout.sidebar_list_item, parent, false);
holder = new ViewHolder();
holder.articleTitle = (TextView) convertView.findViewById(R.id.sidebar_item);
Article article = (Article) getItem(position);
if (article.isDraft()) {
holder.articleTitle.setCompoundDrawables(getEditIcon(convertView.getContext()), null, null, null);
}
else {
holder.articleTitle.setCompoundDrawables(getTickIcon(convertView.getContext()), null, null, null);
}
holder.article = article;
holder.articleTitle.setText(article.getTitle());
holder.articleTitle.setOnClickListener(new AdapterView.OnClickListener() {
@Override
public void onClick(View view) {
callback.showArticle(holder.article);
}
});
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
return convertView;
}
private static Drawable getEditIcon(Context context){
if (editIcon == null) {
editIcon = context.getResources().getDrawable(R.drawable.edit_glow);
editIcon.setBounds(0, 0, editIcon.getIntrinsicWidth(), editIcon.getIntrinsicHeight());
}
return editIcon;
}
private static Drawable getTickIcon(Context context){
if (tickIcon == null) {
tickIcon = context.getResources().getDrawable(R.drawable.checkmark);
tickIcon.setBounds(0, 0, tickIcon.getIntrinsicWidth(), tickIcon.getIntrinsicHeight());
}
return tickIcon;
}
private class ViewHolder {
Article article;
TextView articleTitle;
}
}
Java Source Code List com.donskifarrell.Hubblog.BindingModule.java com.donskifarrell.Hubblog.Activities.HubblogActivity.java com.donskifarrell.Hubblog.Activities.LoginActivity.java com.donskifarrell.Hubblog.Activities.StartupActivity.java com.donskifarrell.Hubblog.Activities.Adapters.ArticleWebViewAdapter.java com.donskifarrell.Hubblog.Activities.Adapters.ArticlesAdapter.java com.donskifarrell.Hubblog.Activities.Adapters.MetadataAdapter.java com.donskifarrell.Hubblog.Activities.Adapters.SidebarAdapter.java com.donskifarrell.Hubblog.Activities.Adapters.TabsAdapter.java com.donskifarrell.Hubblog.Activities.Dialogs.AboutDialogFragment.java com.donskifarrell.Hubblog.Activities.Dialogs.AddSiteDialogFragment.java com.donskifarrell.Hubblog.Activities.Dialogs.DeleteArticleDialogFragment.java com.donskifarrell.Hubblog.Activities.Dialogs.EditArticleTitleDialogFragment.java com.donskifarrell.Hubblog.Activities.Dialogs.LightAlertDialog.java com.donskifarrell.Hubblog.Activities.Dialogs.LightProgressDialog.java com.donskifarrell.Hubblog.Activities.Dialogs.NotificationDialogFragment.java com.donskifarrell.Hubblog.Activities.Dialogs.SelectSiteDialogFragment.java com.donskifarrell.Hubblog.Activities.Fragments.BasePageFragment.java com.donskifarrell.Hubblog.Activities.Fragments.CommitArticleFragment.java com.donskifarrell.Hubblog.Activities.Fragments.EditArticleFragment.java com.donskifarrell.Hubblog.Activities.Fragments.EditMarkdownFragment.java com.donskifarrell.Hubblog.Interfaces.ActivityDataListener.java com.donskifarrell.Hubblog.Interfaces.ArticleWebViewJsInterface.java com.donskifarrell.Hubblog.Interfaces.DataProvider.java com.donskifarrell.Hubblog.Interfaces.DialogListener.java com.donskifarrell.Hubblog.Interfaces.MetadataTagListener.java com.donskifarrell.Hubblog.Interfaces.OnSidebarListItemSelected.java com.donskifarrell.Hubblog.Providers.DatabaseHelper.java com.donskifarrell.Hubblog.Providers.DatabaseProvider.java com.donskifarrell.Hubblog.Providers.FileSystemProvider.java com.donskifarrell.Hubblog.Providers.GitHubProvider.java com.donskifarrell.Hubblog.Providers.HubblogDataProvider.java com.donskifarrell.Hubblog.Providers.SharedPreferencesProvider.java com.donskifarrell.Hubblog.Providers.Data.Account.java com.donskifarrell.Hubblog.Providers.Data.Article.java com.donskifarrell.Hubblog.Providers.Data.MetadataTag.java com.donskifarrell.Hubblog.Providers.Data.Site.java com.github.kevinsawicki.wishlist.ActivityUtils.java com.github.kevinsawicki.wishlist.AsyncLoader.java com.github.kevinsawicki.wishlist.CursorAdapter.java com.github.kevinsawicki.wishlist.DatabaseHelper.java com.github.kevinsawicki.wishlist.DecodeBitmapTask.java com.github.kevinsawicki.wishlist.EditTextUtils.java com.github.kevinsawicki.wishlist.Gestures.java com.github.kevinsawicki.wishlist.ImageViewBitmapTask.java com.github.kevinsawicki.wishlist.Keyboard.java com.github.kevinsawicki.wishlist.LightDialog.java com.github.kevinsawicki.wishlist.LocationUtils.java com.github.kevinsawicki.wishlist.MultiTypeAdapter.java com.github.kevinsawicki.wishlist.OnDoubleTapAdapter.java com.github.kevinsawicki.wishlist.SectionFinder.java com.github.kevinsawicki.wishlist.SectionMultiTypeAdapter.java com.github.kevinsawicki.wishlist.SectionSingleTypeAdapter.java com.github.kevinsawicki.wishlist.SingleTypeAdapter.java com.github.kevinsawicki.wishlist.SingleTypeCursorAdapter.java com.github.kevinsawicki.wishlist.Toaster.java com.github.kevinsawicki.wishlist.TypeAdapter.java com.github.kevinsawicki.wishlist.TypefaceUtils.java com.github.kevinsawicki.wishlist.ViewFinder.java com.github.kevinsawicki.wishlist.ViewUpdater.java com.github.kevinsawicki.wishlist.ViewUtils.java com.github.mobile.Accounts.AccountAuthenticatorService.java com.github.mobile.Accounts.AccountAuthenticator.java com.github.mobile.Accounts.AccountClient.java com.github.mobile.Accounts.AccountConstants.java com.github.mobile.Accounts.AccountScope.java com.github.mobile.Accounts.AccountUtils.java com.github.mobile.Accounts.AuthenticatedUserLoader.java com.github.mobile.Accounts.AuthenticatedUserTask.java com.github.mobile.Accounts.DefaultClient.java com.github.mobile.Accounts.GitHubAccount.java com.github.mobile.Accounts.ScopeBase.java com.github.mobile.Accounts.TwoFactorAuthActivity.java com.github.mobile.Accounts.TwoFactorAuthClient.java com.github.mobile.Accounts.TwoFactorAuthException.java com.github.mobile.Persistence.AccountDataManager.java com.github.mobile.Persistence.CacheHelper.java com.github.mobile.Persistence.DatabaseCache.java com.github.mobile.Persistence.OrganizationLoader.java com.github.mobile.Persistence.OrganizationRepositories.java com.github.mobile.Persistence.Organizations.java com.github.mobile.Persistence.PersistableResource.java com.github.mobile.Requests.RequestCodes.java com.github.mobile.Requests.RequestFuture.java com.github.mobile.Requests.RequestReader.java com.github.mobile.Requests.RequestWriter.java com.github.mobile.Utils.IssueFilter.java com.github.mobile.Utils.ToastUtils.java com.github.mobile.Utils.UserComparator.java com.viewpagerindicator.CirclePageIndicator.java com.viewpagerindicator.IconPageIndicator.java com.viewpagerindicator.IconPagerAdapter.java com.viewpagerindicator.IcsLinearLayout.java com.viewpagerindicator.LinePageIndicator.java com.viewpagerindicator.PageIndicator.java com.viewpagerindicator.TabPageIndicator.java com.viewpagerindicator.TitlePageIndicator.java com.viewpagerindicator.UnderlinePageIndicator.java