0
我有这个ViewPager:ViewPager与OnClickListener
public class CustomSwipeAdapterMain extends PagerAdapter {
private Context context;
Activity activity;
com.android.volley.toolbox.ImageLoader imageLoader = AppController.getInstance().getImageLoader();
List<SlidingFeedItemMain> lFeedItemsMain;
SlidingFeedItemMain slidingFeedItemMain;
FragmentManager fragmentManager;
WindowManager windowManager;
public CustomSwipeAdapterMain(Context context, Activity activity, List<SlidingFeedItemMain> lFeedItemsMain,
FragmentManager fragmentManager, WindowManager windowManager) {
this.context = context;
this.activity = activity;
this.lFeedItemsMain = lFeedItemsMain;
this.fragmentManager = fragmentManager;
this.windowManager = windowManager;
}
@Override
public int getCount() {
return lFeedItemsMain.size();
}
@Override
public boolean isViewFromObject(View view, Object object) {
return view == object;
}
@SuppressLint("SetTextI18n")
@Override
public Object instantiateItem(final ViewGroup container, int position) {
LayoutInflater layoutInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View itemView = layoutInflater.inflate(R.layout.feed_sliding_item, container, false);
if (imageLoader == null) {
imageLoader = AppController.getInstance().getImageLoader();
}
//region FindViews
TextView textViewtext = (TextView) itemView.findViewById(R.id.txtStatusMsg);
TextView textViewName = (TextView) itemView.findViewById(R.id.name);
TextView textViewTime = (TextView) itemView.findViewById(R.id.timestamp);
TextView textViewQuotations = (TextView) itemView.findViewById(R.id.textViewQuotations);
// TextView textViewAuthor = (TextView) itemView.findViewById(R.id.textViewAuthor);
final ImageView imageViewtext = (ImageView) itemView.findViewById(R.id.feedImage1);
final ProgressBar progressBarFeedItem = (ProgressBar) itemView.findViewById(R.id.progressBarFeedItem);
final CircleImageView profilePic = (CircleImageView) itemView.findViewById(R.id.profilePic);
final ImageView imageViewLike = (ImageView) itemView.findViewById(R.id.imageViewLike);
final RelativeLayout relFullFeedItem = (RelativeLayout) itemView.findViewById(R.id.relFullFeedItem);
//endregion
//region Set text color in relation to theme
textViewtext.setTextColor(ContextCompat.getColor(context, R.color.Black));
//endregion
if (container.isShown()) {
//region set data to views
slidingFeedItemMain = lFeedItemsMain.get(position);
progressBarFeedItem.setVisibility(View.VISIBLE);
profilePic.setId(Integer.parseInt(slidingFeedItemMain.getStrUserId()));
container.setTag(2);
container.setId(3);
textViewtext.setText(slidingFeedItemMain.getStrtext());
textViewName.setText(slidingFeedItemMain.getStrUsername());
textViewTime.setText(DateUtils.getRelativeTimeSpanString(
Long.parseLong(slidingFeedItemMain.getStrTimestamp()),
System.currentTimeMillis(), DateUtils.FORMAT_SHOW_DATE));
textViewQuotations.setText(slidingFeedItemMain.getText() + " " + activity.getString(R.string.text));
if (slidingFeedItemMain.getStrtextImageName().equals("null")) {
imageViewtext.setVisibility(View.GONE);
progressBarFeedItem.setVisibility(View.GONE);
} else {
if (!slidingFeedItemMain.getStrtextImageName().endsWith(".jpg")) {
loadGif(imageViewtext, URLs.BASE_URL_START +
slidingFeedItemMain.getStrtextImageName() + URLs.BASE_URL_ENDE, progressBarFeedItem);
Log.e("ID", "is: " + slidingFeedItemMain.getStrtextImageName());
} else {
loadImage(imageViewtext, URLs.BASE_URL_IMAGES + slidingFeedItemMain.getStrtextImageName(), progressBarFeedItem);
}
loadImage(profilePic, URLs.BASE_URL_IMAGES + slidingFeedItemMain.getStrProfileImageName(), null);
}
//endregion
}
//region click listeners
// profilePic.setOnClickListener(new View.OnClickListener() {
// @Override
// public void onClick(View v) {
// Intent i = new Intent(context, ProfileActivity.class);
// Log.e("TAG", "user " + v.getId());
//
//// if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
//// profilePic.setTransitionName(activity.getString(R.string.transition_name_profilePic));
////
//// ActivityOptionsCompat options = ActivityOptionsCompat.
//// makeSceneTransitionAnimation(activity, profilePic, profilePic.getTransitionName());
//// ActivityCompat.startActivity(activity, i, options.toBundle());
//// } else {
//// activity.startActivity(i);
//// activity.overridePendingTransition(R.anim.gehnachlinks, R.anim.stay);
//// }
// }
// });
// imageViewLike.setOnClickListener(new View.OnClickListener() {
// @Override
// public void onClick(View v) {
// Toast.makeText(context, "LIKE", Toast.LENGTH_SHORT).show();
// moveViewToScreenCenter(imageViewLike, relFullFeedItem);
// }
// });
itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Log.e("BLA","asa");
}
});
//endregion
container.addView(itemView);
return itemView;
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
container.removeView((RelativeLayout) object);
}
private void setlAuthors(int idOftext) {
AuthorsItem item;
for (int i = 0; i < 20; i++) {
item = new AuthorsItem();
item.setStrUsername("hallo");
lAuthors.add(item);
}
adapter.notifyDataSetChanged();
}
private void moveViewToScreenCenter(final ImageView view, RelativeLayout relativeLayout) {
DisplayMetrics dm = new DisplayMetrics();
windowManager.getDefaultDisplay().getMetrics(dm);
int statusBarOffset = dm.heightPixels - relativeLayout.getMeasuredHeight();
int originalPos[] = new int[2];
view.getLocationOnScreen(originalPos);
int xDest = dm.widthPixels/2;
xDest -= (view.getMeasuredWidth()/2);
int yDest = dm.heightPixels/2 - (view.getMeasuredHeight()/2) - statusBarOffset;
TranslateAnimation anim = new TranslateAnimation(0, xDest - originalPos[0], 0, yDest - originalPos[1]);
anim.setDuration(1000);
anim.setFillAfter(true);
anim.setFillEnabled(true);
view.startAnimation(anim);
anim.setAnimationListener(new Animation.AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
}
@Override
public void onAnimationEnd(Animation animation) {
Animation animation1 = AnimationUtils.loadAnimation(context, R.anim.from_top);
view.startAnimation(animation1);
view.setColorFilter(ContextCompat.getColor(context, R.color.green));
}
@Override
public void onAnimationRepeat(Animation animation) {
}
});
}
private void loadImage(final ImageView imageView, String url, final ProgressBar progressBar) {
Glide.with(context)
.load(url)
.asBitmap()
.error(R.drawable.error_image)
.thumbnail(0.1f)
.listener(new RequestListener<String, Bitmap>() {
@Override
public boolean onException(Exception e, String model, Target<Bitmap> target, boolean isFirstResource) {
return false;
}
@Override
public boolean onResourceReady(Bitmap resource, String model, Target<Bitmap> target, boolean isFromMemoryCache, boolean isFirstResource) {
if (progressBar != null && progressBar.getVisibility() == View.VISIBLE) {
progressBar.setVisibility(View.GONE);
}
imageView.setImageBitmap(resource);
return false;
}
})
.diskCacheStrategy(DiskCacheStrategy.ALL)
.into(imageView);
}
private void loadGif(final ImageView imageView, String url, final ProgressBar progressBar) {
Glide.with(activity)
.load(url)
.thumbnail(0.1f)
.error(R.drawable.error_image)
.diskCacheStrategy(DiskCacheStrategy.SOURCE)
.fitCenter()
.into(new GlideDrawableImageViewTarget(imageView) {
@Override
public void onResourceReady(GlideDrawable resource, GlideAnimation<? super GlideDrawable> animation) {
super.onResourceReady(resource, animation);
//check isRefreshing
imageView.setImageDrawable(resource);
if (progressBar != null && progressBar.getVisibility() == View.VISIBLE) {
progressBar.setVisibility(View.GONE);
}
}
});
}
}
最主要的是该地区OnClickListeners。我想添加一个onClick监听器到我的完整的PagerAdapter项目中。我试图删除任何onclicklisteners,但它不工作以及...
如何添加一个onClick监听器到完整的项目?