如果這兩種監聽事件同時存在
那麼直接讓paperView 設置這兩種監聽 是不會響應點擊事件的
那麼想通過點擊圖片返回原頁面 就成爲泡影
其實只要把OnClick事件 加載到 paperView 要加載的 view 組的view 上 就可以實現該功能
聽起來有但饒,那麼上代碼簡要代碼如下:
public class FriendsCricleImgDetailActivity extends BaseActivity { private ArrayList<View> listViews = null; private ViewPager pager; private ImgShowAdapter adapter; private int count; private RelativeLayout photo_relativeLayout; /** * 對應ID圖片數組 */ private List<FriendsCricleImageListObject> list = new ArrayList<>(); /** * 選中的ID */ private int selectNum = 0; /** * 選中的圖片索引 */ private TextView imgIndex; private TextView imgBack; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_friends_cricle_img_detail); init(); } /** * 初始化 */ private void init() { photo_relativeLayout = (RelativeLayout) findViewById(R.id.photo_relativeLayout); imgIndex = (TextView) findViewById(R.id.imgIndex); imgBack = (TextView) findViewById(R.id.imgBack); imgBack.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { finish(); } }); pager = (ViewPager) findViewById(R.id.viewpager); photo_relativeLayout.setBackgroundColor(0x70000000); pager.setOnPageChangeListener(pageChangeListener); list = (List<FriendsCricleImageListObject>) getIntent().getSerializableExtra("imgList"); selectNum = getIntent().getIntExtra("selectNum", 0); //初始化viewpaper中用到的view for (int i = 0; i < list.size(); i++) { initListViews(list.get(i).getImg()); } adapter = new ImgShowAdapter(listViews);// 構造adapter pager.setAdapter(adapter);// 設置適配器 pager.setCurrentItem(selectNum);//進入的時候 默認顯示點擊的那張圖 imgIndex.setText((selectNum + 1) + "/" + list.size()); } /** * 初始化圖片view 用於添加到viewPaper * * @param imgurl */ private void initListViews(String imgurl) { if (listViews == null) listViews = new ArrayList<View>(); ImageView img = new ImageView(this);// 構造textView對象 img.setBackgroundColor(0xff000000); img.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT, ViewGroup.LayoutParams.FILL_PARENT)); ImageLoader.getInstance().displayImage(imgurl, img, BaseApp.getFriendsCricleDisplayImageOptions()); img.setOnClickListener(listener); listViews.add(img);// 添加view } /** * 點擊事件必須加載圖片上 方可奏效 */ View.OnClickListener listener = new View.OnClickListener() { @Override public void onClick(View v) { finish(); } }; /** * 滑動事件監聽 */ private ViewPager.OnPageChangeListener pageChangeListener = new ViewPager.OnPageChangeListener() { public void onPageSelected(int arg0) {// 頁面選擇響應函數 count = arg0; imgIndex.setText((count + 1) + "/" + list.size());//動態是是 當前是第幾張圖片 } public void onPageScrolled(int arg0, float arg1, int arg2) {// 滑動中。。。 } public void onPageScrollStateChanged(int arg0) {// 滑動狀態改變 int x = arg0; } }; }