我的应用程序中有两个片段在一个活动下。我的问题是当我使用 gridview 点击第一个片段移动到第二个片段时,我的第一个片段仍然从第二个片段滚动和触摸中获得触摸 onscroll 事件。这是代码片段:
第一个片段:
gridview.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
FragmentRadioListByCategory nextFrag = new FragmentRadioListByCategory();
FragmentManager manager = getFragmentManager();
FragmentTransaction transaction = manager.beginTransaction().replace(R.id.relativeLayoutCategory, nextFrag);
transaction.addToBackStack(null);
transaction.commit();
}
});
gridView.setOnScrollListener(new AbsListView.OnScrollListener() {
@Override
public void onScrollStateChanged(AbsListView view, int scrollState){
}
@Override
public void onScroll(AbsListView view, int firstVisibleItem,
int visibleItemCount, int totalItemCount) {
}
});
第二个片段:
listView.setOnScrollListener(new AbsListView.OnScrollListener() {
@Override
public void onScrollStateChanged(AbsListView view, int scrollState){
}
});
第二个片段 XML 文件:
<android.support.v4.widget.SwipeRefreshLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/swipeRefreshLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/background_color"
android:clickable="true">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="3dp"
android:clickable="true">
<ListView
android:id="@+id/list_radio"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:divider="@null">
</ListView>
</android.support.v4.widget.SwipeRefreshLayout>
如何解决第一个片段上的预防触摸事件问题。我也在使用android:clickable="true"
in XML,但它在这里不起作用。