あり、その中ImageViewのでViewPager OnTouchListenerを使用する方法初期また、私は、ImageViewのonClickListenerイベントが設定されている4ページを持っているViewPagerは、ページが各ページには、ImageViewのが含まれている.... runableとハンドラを使用してスライド続けるいるOnClickListener
私は、ユーザーがviewpagerに触れたときに、スライドを停止し、ユーザーが自分の指
を離すとスライド継続するViewPager OnTouchListenerイベントを設定していますが、ここにいる間ViewPagerはOnTouchListenerイベントが設定されているアダプタ
でViewPager OnTouchListenerイベントを設定する方法:
BandsViewPager.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
stopSliding = true;
bandsHandler.removeCallbacks(animateBandsViewPager);
break;
case MotionEvent.ACTION_CANCEL:
break;
case MotionEvent.ACTION_UP:
// calls when touch release on ViewPager
if (bands != null && bands.size() != 0) {
stopSliding = false;
bandsRunnable(bands.size());
bandsHandler.postDelayed(animateBandsViewPager, ANIM_VIEWPAGER_DELAY);
}
break;
case MotionEvent.ACTION_MOVE:
// calls when ViewPager touch
if (bandsHandler != null && stopSliding == false) {
stopSliding = true;
}
break;
}
return false;
}
});
とここで私はViewPagerアダプタクラス内ImageViewのOnClickListenerを設定する方法である:
mImageView.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
switch(ClickActionType){
case BAND_CLICK_ACTION_BRAND:
Categories_Fragment categoriesFrag= new Categories_Fragment();
Bundle categoriesArgs = new Bundle();
categoriesArgs.putInt("BrandId", ClickActionTypeId);
categoriesArgs.putInt("TabId", TabId);
if (UI.getAppLanguage() == 0)
categoriesArgs.putString("BrandName", TitleAr);
else
categoriesArgs.putString("BrandName", TitleEn);
categoriesFrag.setArguments(categoriesArgs);
FManager.beginTransaction()
.replace(R.id.main_content, categoriesFrag, Categories_Fragment.ARG_ITEM_ID)
.addToBackStack(Categories_Fragment.ARG_ITEM_ID)
.commit();
break;
case BAND_CLICK_ACTION_ITEM:
Item_Details_Fragment itemDetailsFrag= new Item_Details_Fragment();
Bundle itemDetailsArgs = new Bundle();
itemDetailsArgs.putInt("ItemId", ClickActionTypeId);
itemDetailsFrag.setArguments(itemDetailsArgs);
FManager.beginTransaction()
.replace(R.id.main_content, itemDetailsFrag, Item_Details_Fragment.ARG_ITEM_ID)
.addToBackStack(Item_Details_Fragment.ARG_ITEM_ID)
.commit();
break;
case BAND_CLICK_ACTION_CATEGORY:
Items_Fragment itemsFrag= new Items_Fragment();
Bundle itemsArgs = new Bundle();
itemsArgs.putInt("CategoryId", ClickActionTypeId);
if (UI.getAppLanguage() == 0)
itemsArgs.putString("CategoryName", TitleAr);
else
itemsArgs.putString("CategoryName", TitleEn);
itemsArgs.putInt("BrandId", 0);
itemsArgs.putInt("TabId", TabId);
itemsFrag.setArguments(itemsArgs);
FManager.beginTransaction()
.replace(R.id.main_content, itemsFrag, Items_Fragment.ARG_ITEM_ID)
.addToBackStack(Items_Fragment.ARG_ITEM_ID)
.commit();
break;
default:
}
}
});
私はImageViewのOnClickListenerを削除する場合は、ViewPagerは、タッチイベントを受け取ります。