我有一个包含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));