我目前在我的pagerslidingtabs上遇到了一些奇怪的事情,其中我的recyclerview中的列表覆蓋了相同的視圖,除了頂部視圖不可滾動並且背景中的列表可滾動但覆蓋。這隻會隨機發生,不能輕易複製。這隻會發生,如果我更改/快速刷新從一個頁面到另一個,但提到它很難複製相同的問題。這裏是什麼樣子:PagerSlidingTabs中的Android RecyclerView List重疊
現在我已經是一個PagerSlidingTabStrip以及它包含片段與recyclerviews的列表FragmentPagerAdapter。我敢肯定,問題不在於recyclerview列表,而是使用尋呼機本身,因爲我猜想它創建了片段視圖,而前面的視圖尚未刪除,從而觸發了這種效果。我確保爲我的物品創建我的片段的新實例。這裏是到目前爲止的代碼:
public class ResultPagerAdapter extends FragmentPagerAdapter {
private final String[] TITLES = { "TAB", "TAB2" };
public ResultPagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public CharSequence getPageTitle(int position) {
return TITLES[position];
}
@Override
public int getCount() {
return TITLES.length;
}
@Override
public Fragment getItem(int position) {
switch (position) {
case 0:
return Page1.newInstance(position);
case 1:
return Page2.newInstance(position);
}
}
}
和初始化PagerSlidingTabStrip:
private void initializeTabs() {
//initialize pager
adapter = new ResultPagerAdapter(getSupportFragmentManager());
pager.setAdapter(adapter);
tabs.setDividerColor(getResources().getColor(android.R.color.transparent));
tabs.setUnderlineColor(getResources().getColor(R.color.red));
tabs.setIndicatorColor(getResources().getColor(R.color.blue));
tabs.setIndicatorHeight(new Utils().dpToPx(48));
tabs.setUnderlineHeight(new Utils().dpToPx(4));
tabs.setTextColor(getResources().getColor(R.color.white));
tabs.setViewPager(pager);
}
和尋呼機代碼:
public class CustomViewPager extends ViewPager {
private boolean enabled;
public CustomViewPager(Context context, AttributeSet attrs) {
super(context, attrs);
this.enabled = true;
}
@Override
public boolean onTouchEvent(MotionEvent event) {
if (this.enabled) {
return super.onTouchEvent(event);
}
return false;
}
@Override
public boolean onInterceptTouchEvent(MotionEvent event) {
if (this.enabled) {
return super.onInterceptTouchEvent(event);
}
return false;
}
public void setPagingEnabled(boolean enabled) {
this.enabled = enabled;
}
}
,並在我的碎片作的newInstance代碼調用web服務數據:
public static SenatorsResult newInstance(int position) {
SenatorsResult f = new SenatorsResult();
Bundle b = new Bundle();
b.putInt(ARG_POSITION, position);
f.setArguments(b);
return f;
}
之前有人遇到過這個問題嗎?希望有人能幫助我。
如果您正在使用工具欄倒塌的問題是身高。發佈你的xml代碼。 –
不,我不使用摺疊的工具欄,即使我使用它,高度實際上也不會是問題。下面的答案以某種方式解釋了這個問題。該片段即使在android中默認行爲的pager上不可見,也不會被銷燬。由於它沒有被破壞,所以佈局仍然可見,當我改變頁面時,它將調用片段的新實例,而保存的視圖不會失效導致問題。我很確定它是在尋呼機上,但不知道如何解決它。 – KaHeL