ppamorim

Untitled

May 10th, 2014
346
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 6.00 KB | None | 0 0
  1. package com.fatos.fatos_desconhecidos.app.adapter;
  2.  
  3. import android.content.Context;
  4. import android.os.Handler;
  5. import android.view.LayoutInflater;
  6. import android.view.View;
  7. import android.view.ViewGroup;
  8. import android.widget.BaseAdapter;
  9. import android.widget.ImageButton;
  10. import android.widget.ImageView;
  11. import android.widget.TextView;
  12. import android.widget.Toast;
  13.  
  14.  
  15. import com.facebook.Session;
  16. import com.facebook.SessionState;
  17. import com.facebook.UiLifecycleHelper;
  18. import com.facebook.widget.FacebookDialog;
  19. import com.fatos.fatos_desconhecidos.app.R;
  20. import com.fatos.fatos_desconhecidos.app.activity.BaseActivity;
  21. import com.fatos.fatos_desconhecidos.app.core.Communicator;
  22. import com.fatos.fatos_desconhecidos.app.core.DialogInterface;
  23. import com.fatos.fatos_desconhecidos.app.core.model.impl.Feed;
  24. import com.nostra13.universalimageloader.core.ImageLoader;
  25.  
  26. import java.util.List;
  27.  
  28. public class FeedAdapter extends BaseAdapter {
  29.  
  30.     ViewHolder mViewHolder;
  31.     private Context mContext;
  32.     private List<Feed> mItems;
  33.     private int mCount;
  34.     private boolean isLoading = false;
  35.  
  36.     public FeedAdapter(Context context, List<Feed> items)  {
  37.         mContext = context;
  38.         mItems = items;
  39.         mCount = mItems.size();
  40.     }
  41.  
  42.     public void setData(List<Feed> newData) {
  43.         mItems = newData;
  44.     }
  45.  
  46.     @Override
  47.     public int getCount() {
  48.         return mItems.size();
  49.     }
  50.  
  51.     @Override
  52.     public Feed getItem(int position) {
  53.         return mItems.get(position);
  54.     }
  55.  
  56.     @Override
  57.     public long getItemId(int position) {
  58.         return 0;
  59.     }
  60.  
  61.     @Override
  62.     public View getView(final int position, View convertView, ViewGroup parent) {
  63.         if(convertView == null) {
  64.  
  65.             convertView = LayoutInflater.from(mContext).inflate(R.layout.adapter_feed_item, parent, false);
  66.  
  67.             mViewHolder = new ViewHolder();
  68.             mViewHolder.mTitle = (TextView) convertView.findViewById(R.id.Title);
  69.             mViewHolder.mDescription = (TextView) convertView.findViewById(R.id.Description);
  70.             mViewHolder.mImage = (ImageView) convertView.findViewById(R.id.Image);
  71.             mViewHolder.mShare = (ImageButton) convertView.findViewById(R.id.share_button);
  72.             mViewHolder.mComments = (ImageButton) convertView.findViewById(R.id.comments_button);
  73.             mViewHolder.mLike = (ImageButton) convertView.findViewById(R.id.like_button);
  74.  
  75.             convertView.setTag(mViewHolder);
  76.  
  77.         } else {
  78.             mViewHolder = (ViewHolder) convertView.getTag();
  79.         }
  80.         final Feed item = getItem(position);
  81.  
  82. //        Feed feed = new Feed();
  83. //
  84. //        feed.Title = item.getTitle();
  85. //        feed.Description = item.getDescription();
  86. //        feed.ImageURL = item.getImageURL();
  87. //        feed.save();
  88.         mViewHolder.mTitle.setText(item.getTitle());
  89.         mViewHolder.mDescription.setText(item.getDescription());
  90.         ImageLoader.getInstance().displayImage(item.getImageURL(),mViewHolder.mImage);
  91.  
  92.         mViewHolder.mTitle.setOnClickListener(new View.OnClickListener() {
  93.             @Override
  94.             public void onClick(View view) {
  95.                 ((Communicator)mContext).onItemListViewClick(item.getobjectid(), item.getImageURL(), item.getTitle(), item.getCompleteText(), item.getSiteURL());
  96.             }
  97.         });
  98.  
  99.         mViewHolder.mDescription.setOnClickListener(new View.OnClickListener() {
  100.             @Override
  101.             public void onClick(View view) {
  102.                 ((Communicator)mContext).onItemListViewClick(item.getobjectid(), item.getImageURL(), item.getTitle(), item.getCompleteText(), item.getSiteURL());
  103.             }
  104.         });
  105.  
  106.         mViewHolder.mImage.setOnClickListener(new View.OnClickListener() {
  107.             @Override
  108.             public void onClick(View view) {
  109.                 ((Communicator)mContext).onItemListViewClick(item.getobjectid(), item.getImageURL(), item.getTitle(), item.getCompleteText(), item.getSiteURL());
  110.             }
  111.         });
  112.  
  113.         mViewHolder.mShare.setOnClickListener(new View.OnClickListener() {
  114.             @Override
  115.             public void onClick(View view) {
  116.                 ((DialogInterface)mContext).openDialog();
  117.                 //dialogInterface.openDialog();
  118.                 Handler handler = new Handler();
  119.                 handler.postDelayed(new Runnable() {
  120.                     public void run() {
  121.                         try{
  122.                             FacebookDialog shareDialog = new FacebookDialog.ShareDialogBuilder((BaseActivity)mContext)
  123.                                     .setLink(item.getSiteURL())
  124.                                     .build();
  125.  
  126.                             UiLifecycleHelper uiHelper = new UiLifecycleHelper((BaseActivity)mContext, callback);
  127.                             uiHelper.trackPendingDialogCall(shareDialog.present());
  128.                             ((DialogInterface)mContext).closeDialog();
  129.                         } catch (Exception e) {
  130.                             ((DialogInterface)mContext).closeDialog();
  131.                             Toast.makeText(mContext, mContext.getString(R.string.error_share), Toast.LENGTH_LONG).show();
  132.                         }
  133.                     }
  134.                 }, 2000);
  135.  
  136.  
  137.             }
  138.         });
  139.         mViewHolder.mComments.setOnClickListener(new View.OnClickListener() {
  140.             @Override
  141.             public void onClick(View view) {
  142.                 ((Communicator)mContext).onCommentsClick(item.getobjectid());
  143.             }
  144.         });
  145.  
  146.         return convertView;
  147.     }
  148.  
  149.     private Session.StatusCallback callback = new Session.StatusCallback() {
  150.         @Override
  151.         public void call(Session session, SessionState state,Exception exception) { }
  152.     };
  153.  
  154.     private static class ViewHolder {
  155.         private TextView mTitle;
  156.         private TextView mDescription;
  157.         private ImageView mImage;
  158.         private ImageButton mShare;
  159.         private ImageButton mComments;
  160.         private ImageButton mLike;
  161.     }
  162. }
Advertisement
Add Comment
Please, Sign In to add comment