2017-03-01 41 views
0

在我的應用程序中,我創建了一個包含2個選項卡的選項卡式活動。我正在做的是,從工具欄菜單中向數據庫添加新數據。 我想知道的是如何更新位於我的第一個片段頁面上的listView。 在我的第一個片段頁面中,我已經有一個名爲performServerQuery()的方法,它重置適配器並使用新數據填充我的適配器。 我能想到的是從我的mainActivity調用performServerQuery(),但它表示無法在空對象引用上調用方法adapter.clear()。 是否有任何其他方式直接從我的主要活動從我的分段頁面刷新ListView?如何從MainActivity更新FragmentPage的listView

編輯:在stackoverflow上有這麼多相同的問題,其中大多數是通過使用廣播。我可以不發送廣播嗎?

+0

OnTabSelectedListener到使用onPageSelected方法調用設置viewpager.getAdapter()。notifyDataSetChanged( ); – Joy

+0

「OnTabSelectedListener to onPageSelected方法」是什麼意思?對不起,我是新來的android – VincentTheonardo

+0

你是否更改選項卡這次不更新您的數據? – Joy

回答

0

在customAdapter加入這一行

public int getItemPosition(Object object) { 
    return POSITION_NONE; 
} 

並添加addOnPageChangeListener 這個樣子

viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() { 
     @Override 
     public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { 

     } 

     @Override 
     public void onPageSelected(int position) { 
      vpFrames.getAdapter().notifyDataSetChanged(); 
     } 

     @Override 
     public void onPageScrollStateChanged(int state) { 

     } 
    }); 
相關問題