Android Open Source - hubblog Sidebar 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.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.*;
import com.donskifarrell.Hubblog.Interfaces.DataProvider;
import com.donskifarrell.Hubblog.Providers.Data.Site;
import com.donskifarrell.Hubblog.R;
/**
* Created with IntelliJ IDEA.
* User: donski
* Date: 18/11/13
* Time: 22:30
*/
public class SidebarAdapter extends BaseAdapter {
private DataProvider hubblog;
private final LayoutInflater inflater;
private final Context context;
public SidebarAdapter(Context theContext, DataProvider dataProvider){
context = theContext;
inflater = LayoutInflater.from(context);
hubblog = dataProvider;
}
@Override
public int getCount() {
return hubblog.getSites().size();
}
@Override
public Object getItem(int position) {
return hubblog.getSites().get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
final ViewHolder holder;
Site site = (Site) getItem(position);
if (convertView == null) {
convertView = createView(site, position, convertView, parent);
} else {
holder = (ViewHolder) convertView.getTag();
if (holder.position != position) {
convertView = createView(site, position, convertView, parent);
}
}
return convertView;
}
private View createView(Site site, int position, View convertView, ViewGroup parent){
convertView = inflater.inflate(R.layout.sidebar_list_layout, parent, false);
ViewHolder holder = new ViewHolder();
holder.position = position;
holder.headerLayout = (LinearLayout) convertView.findViewById(R.id.header_title);
holder.headerTitle = (TextView) holder.headerLayout.findViewById(R.id.title);
holder.headerTitle.setText(site.getSiteName());
ArticlesAdapter articlesAdapter = new ArticlesAdapter(context, site);
holder.articlesList = new TextView[articlesAdapter.getCount()];
for (int idx = 0; idx < articlesAdapter.getCount(); idx++) {
View item = articlesAdapter.getView(idx, null, null);
holder.articlesList[idx] = (TextView) item;
((LinearLayout)convertView).addView(item);
}
convertView.setTag(holder);
return convertView;
}
private class ViewHolder {
private int position;
private LinearLayout headerLayout;
private TextView headerTitle;
private TextView[] articlesList;
}
}
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