当我调用ViewPager.setPageTransformer

时间:2017-03-18 16:07:33

标签: android listview android-viewpager

我有一个包含ViewPager的活动,可以在滑动时显示不同的片段。

每个片段中都有一个ListView,每个列表视图项在单击时执行一些操作(比如显示Toast)。我在ListView上设置OnItemClickListener来实现它。

一切正常,但是当我通过在ViewPager上调用setPageTransform()来设置页面转换时,列表项单击停止工作。

我该如何解决?

检查以下代码。

list_item_lessons.xml

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:padding="16dp"
android:clickable="false"
android:descendantFocusability="blocksDescendants"
android:focusable="false"
android:focusableInTouchMode="false">

<ImageView
    android:id="@+id/list_item_image"
    android:layout_width="72dp"
    android:layout_height="72dp"
    android:layout_weight="0"
    android:clickable="false"
    android:focusable="false"
    android:focusableInTouchMode="false"
    tools:src="@drawable/people"/>


<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_weight="1"
    android:orientation="vertical"
    android:paddingLeft="16dp"
    android:paddingRight="16dp"
    android:clickable="false"
    android:focusable="false"
    android:focusableInTouchMode="false">

    <TextView
        android:id="@+id/list_item_title"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:gravity="bottom"
        android:maxLines="1"
        android:ellipsize="end"
        android:textStyle="normal"
        android:textSize="21sp"
        android:textColor="#212121"
        android:inputType="textCapSentences"
        tools:text="ਐਤਵਾਰ"/>

    <TextView
        android:id="@+id/list_item_sub_title"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:layout_gravity="top"
        android:textColor="#757575"
        android:textSize="16sp"
        tools:text="alphabets" />


</LinearLayout>

<ImageView
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:layout_weight="0"
    android:src="@drawable/general_arrow_right"
    android:alpha=".5"
    android:clickable="false"
    android:focusable="false"
    android:focusableInTouchMode="false"/>

在MainActivity.java中设置页面转换器的代码

// Set transformation for view pager, Getting values from preferences
SharedPreferences sharedPref = PreferenceManager.getDefaultSharedPreferences(this);
String displayPref = sharedPref.getString(SettingsFragment.KEY_PREF_TRANSFORMATION, "");
viewPager.setPageTransformer(true, Utils.getPageTransformer(this, displayPref));

0 个答案:

没有答案