-2

我在ViewPager中動態創建了五個不同的Fragment s,並且每個Fragment都有一個TextView。因此,如果從一個ViewPager移動到另一個Fragment,我已經擬更新的TextView片段位置。所以,我創建了TextView這樣的:Android - 使用viewPager更新相同片段中的textview

public static TextView txt_starProgress; 
public static TextView txt_radioProgress; 
public static TextView txt_checkProgress; 
public static TextView txt_yesnoProgress; 
public static TextView txt_overallProgress; 

每個Fragment和下面的代碼更新從Activity的值時,從一個ViewPager移動到另一個Fragment

if(activities.contains("StarRatingActivity")) 
StarRatingActivity.txt_starProgress.setText(Integer.toString(pageCount)); 
if(activities.contains("RadioButtonActivity")) 
RadioButtonActivity.txt_radioProgress.setText(Integer.toString(pageCount)); 
if(activities.contains("CheckBoxActivity")) 
CheckBoxActivity.txt_checkProgress.setText(Integer.toString(pageCount)); 
if(activities.contains("YesNoActivity")) 
YesNoActivity.txt_yesnoProgress.setText(Integer.toString(pageCount)); 
if(activities.contains("OverallActivity")) 
OverallActivity.txt_overallProgress.setText(Integer.toString(pageCount)); 

它工作正常。然後,我動態創建了5種Fragment,並嘗試更新TextView,但頁面位置未正確更新。我該如何解決這個問題。

+0

您的問題不清楚,請解釋更好, –

+0

進行任何''View' static'是一個糟糕的主意,因爲它是[內存泄漏]的原因(http://blog.vogella.com/2013/03/12/ android-why-to-use-static-for-view-fields-in-your-activity-or-fragments-by-lars-vogel /) – PPartisan

+0

我該如何實現那個。 – Prabha

回答

0

如果要動態更新ViewPager的TextView的,那麼您必須調用這個方法 - notifyonDataChanged()

0

您可以創建或通過片段的參數在pageradapter通過這樣

YourFragment yourFragment = yourPagerAdapter.getItem(position); 
Bundle arg = new Bundle(); 
arg.putString("string", string); 
yourFragment.setArguments(extras); 
return yourFragment; 

在YourFragment.class你可以得到內的傳遞值onCreate()像下面的代碼

Bundle arg = getArguments(); 
String string = arg.getString("string");