在viewpager中更新字段后重新加载PageFragment数据

时间:2016-05-29 08:06:27

标签: android android-fragments fragmentstatepageradapter page-fragments

我使用了this article 我有一个问题。

在PageFragment(扩展片段)中,我有一些从DB(sqlite)加载的字段 并且这个片段有一个按钮,点击后,在db中更新表。 我想重新加载片段以显示更新的数据(不刷卡)。 我知道android会将状态保存在内存中,但我需要显示更新的字段而不用刷卡。

我尝试使用POSITION_NONE,setOffscreenPageLimit,notifyDataSetChanged,detach,attach等等。但是没有一个工作,我对它们感到困惑。

1 个答案:

答案 0 :(得分:1)

更合适的方法是将初始更新逻辑放在单独的方法中,并在更新数据库后调用该方法。

public void onCreateView(){
    //your view creation and inflation
    //call populateUI after inflation here
}

public void onResume(){
    //or here
}

//take data from someplace and populate your UI may be from database
public void populateUI(){
  //get values and set fields 
}

public void onClick(View v){
    //the button click
    //update db
    //then
    populateUI();
}