我試圖把一些意見納入使用LayoutInflater片段添加到一個片段多個視圖。他們是TextViews,但我似乎只能設置我添加的第一個值。它看起來像一個身份證衝突造成的問題,但我是在如何克服這一點的損失。 我onCreateView的相關位看起來是這樣的:使用LayoutInflater
ViewGroup vg = (ViewGroup) inflater.inflate(R.layout.data_viewer,
container, false);
HashMap<String, Long> titles = mHelper.getTitles("firestations");
for (String key : titles.keySet()) {
**View row = inflater.inflate(R.layout.row, vg, true);
TextView label = (TextView) row.findViewById(R.id.textView1);
label.setText(key);**
TextView value = (TextView) row.findViewById(R.id.textView2);
value.setText(getArg(key));
}
你可以從帶星線看我誇大一個「行」(這只是一個水平線性佈局與2個文本視圖稱爲textView1和textView2在它)。我提供了我膨脹的ViewGroup的句柄,並通過true來獲取附加到父類的視圖。所有這些似乎工作正常。然後我在我剛膨脹的行上調用findViewById。我原以爲這個發現只會挑選那個特定行的孩子。它看起來像查找使用更寬的範圍,並且匹配的完整集ID(它們是相同的 - 它們都是從同一塊XML的)。然後它給我回第一個。 所有這一切的結果是,我得到正確佈置在頂部對TextViews的顯示數據的最後一排的屏幕。 TextView的其餘部分在其中定義了默認文本。
任何人都知道我可以解決這個問題嗎?
感謝,
安東尼諾蘭
嘗試使用'FALSE'你'膨脹()'在循環調用的第三個參數,則行加入到'的ViewGroup '配置它後手動。原則上,你看起來不錯,所以我只是在這裏猜測。另外,請將「commonsware」標籤用於與我的書籍或開源項目相關的內容 - 此問題既不適用也不適用。 – CommonsWare
我在得到您的建議之前嘗試了這一點,它可以工作。看起來像一個小錯誤,但現在我知道它在那裏,我可以繞過它,沒有麻煩。公平評論標籤。我雖然只是說'你可以看看這個'!謝謝你的幫助。 –