2017-04-16 98 views
0

我有一個片段,實際上有3個頁面,您可以用它來滑動。 在每個頁面上,您都有一個默認字符串,例如「保存在字符串中的節:%1 $ d」。 XML「更改片段中的TextView內容

和碎片的Java類方法是這樣的:

@Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
          Bundle savedInstanceState) { 
     View rootView = inflater.inflate(R.layout.fragment_generaldiscription, container, false); 
     TextView textView = (TextView) rootView.findViewById(R.id.section_label); 
     textView.setText(getString(R.string.section_format, getArguments().getInt(ARG_SECTION_NUMBER))); 
     textView.setText("test"); // testing purposes 
     return rootView; 
    } 
} 

我的問題是:我不希望每個網頁有相同的文字部分1了。」你好,從部分世界:1 「,第2節有」來自部分的Hello world:2「

我希望第1部分有一個不同的字符串,例如」你好,這是你的片段的第1部分。「我如何在片段中的不同部分爲了顯示不同的字符串?

謝謝。

回答

1

看來你需要一個變量來顯示不同的字符串。這就是爲什麼strings.xml不起作用。


這裏是我的解決方案

第一步:

定製它包含一個String對象descripbe TextView的

第二步構造函數:

初始化三個片段用不同的字符串對象在你的FragmentAdapter類中

第三步: 測試它whther它可以工作

Well.The代碼是有點乏味,這不是convinent爲我寫here.Just嘗試,你可以得到它:)

2

它看起來像一個屁股疼痛處理。 我喜歡用Cheesesquare代替。要添加一個頁面,你只需要:adapter.addFragment(new CheeseListFragment(), "Category 1");,並在片段類內完成定製

1

我認爲在每一頁上你都會得到「Hello world from section:1」,如果你在第2頁上添加另一個文本,文字相互融合。 我得到了這個問題,然後我在佈局中使用android:background =「#ffffff」,所以第1節文本由於背景色而變爲白色,如果你想要在背景中設置另一種顏色或圖像。 ,然後第2部分將只顯示「來自部分的Hello World:2」通過xml進行設置。 這不是完美的解決方案,但它適用於我。