Android Open Source - hubblog Metadata 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.support.v4.app.Fragment;
import android.text.Editable;
import android.text.TextWatcher;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.*;
import com.donskifarrell.Hubblog.Interfaces.MetadataTagListener;
import com.donskifarrell.Hubblog.Providers.Data.Article;
import com.donskifarrell.Hubblog.Providers.Data.MetadataTag;
import com.donskifarrell.Hubblog.R;
/**
* Created with IntelliJ IDEA.
* User: donski
* Date: 21/11/13
* Time: 18:25
*/
public class MetadataAdapter extends BaseAdapter {
private Article article;
private MetadataTagListener callback;
private final LayoutInflater inflater;
private final Context context;
public MetadataAdapter(Fragment articleFragment, Article anArticle) {
try {
callback = (MetadataTagListener) articleFragment;
} catch (ClassCastException e) {
throw new ClassCastException(articleFragment.toString()
+ " must implement MetadataTagListener" );
}
context = articleFragment.getActivity();
inflater = LayoutInflater.from(context);
article = anArticle;
}
public void setArticle(Article anArticle) {
article = anArticle;
}
@Override
public int getCount() {
return article.getMetadataTags().size();
}
@Override
public Object getItem(int tagId) {
MetadataTag tag = new MetadataTag();
tag.setTagId(tagId);
int idx = article.getMetadataTags().indexOf(tag);
if (idx > -1) {
return article.getMetadataTags().get(idx);
}
return null;
}
@Override
public long getItemId(int tagId) {
return tagId;
}
@Override
public View getView(int position, View metadataTagView, ViewGroup viewGroup) {
final ViewHolder holder;
MetadataTag metadataTag = (MetadataTag) getItem(position);
if (metadataTag == null) {
return null;
}
if (metadataTagView == null) {
metadataTagView = (LinearLayout) inflater.inflate(R.layout.article_metadata_layout, viewGroup, false);
holder = new ViewHolder();
holder.position = position;
holder.tag = metadataTag;
holder.metadataText = (EditText) metadataTagView.findViewById(R.id.metadata_tag);
holder.metadataText.setText(holder.tag.getTag());
holder.metadataText.addTextChangedListener(new MetaDataTagTextChangedListener(holder.tag));
holder.metadataText.requestFocus();
holder.removeTag = (ImageButton) metadataTagView.findViewById(R.id.metadata_remove);
holder.removeTag.setOnClickListener(new RemoveMetadataTagOnClickListener(holder.tag));
metadataTagView.setTag(holder);
} else {
holder = (ViewHolder) metadataTagView.getTag();
}
return metadataTagView;
}
private class ViewHolder {
int position;
MetadataTag tag;
EditText metadataText;
ImageButton removeTag;
}
private class MetaDataTagTextChangedListener implements TextWatcher {
private MetadataTag tag;
public MetaDataTagTextChangedListener(MetadataTag aTag) {
tag = aTag;
}
@Override
public void afterTextChanged(Editable editable) {
tag.setTag(editable.toString());
}
@Override
public void beforeTextChanged(CharSequence charSequence, int i, int i2, int i3) {
}
@Override
public void onTextChanged(CharSequence charSequence, int i, int i2, int i3) {
}
}
private class RemoveMetadataTagOnClickListener implements View.OnClickListener {
private MetadataTag tag;
public RemoveMetadataTagOnClickListener(MetadataTag aTag){
tag = aTag;
}
@Override
public void onClick(View view) {
callback.removeMetadataTag(tag, (View) view.getParent());
}
}
}
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