2012-06-24 113 views
0

我正在從輸入腳本生成顯示。頂部和底部部分是可重複的 - 就像在合併或包含文件中一樣 - 除了可以通過'setText()'指令輕鬆處理的小文本更改外。中間部分由腳本決定,並且可以具有可變長度和內容。生成的視圖然後作爲子視圖添加到ScrollView。如何以編程方式執行<include />或<merge />?

目前,我有一個腳本字符串,它描述了頂部和底部部分,以及中間的「標記」,由用戶數據庫提供的變量「中間部分」腳本替換。如果我可以在腳本中加入「合併」或「包含」工具,我相信這種結構可以更有效地表達和生成。這意味着我必須能夠在Java代碼中實現合併或包含函數。

有什麼建議嗎?

+0

問:您不能在運行時將您的腳本作爲文件資源讀取嗎?而且,如果是這樣,是不是會解決「包含」問題? – paulsm4

+0

在Java編碼級別,您是否可以將任何靜態字符串值放入您想要的任何類或接口中,並且從那裏簡單地「包含」它們? – paulsm4

回答

1

這是我用於在最近的項目中生成完整重複LinearLayoutLinearLayout代碼的一部分。它的功能與<include />相同,通過擴展布局XML文件。

LayoutInflater li = LayoutInflater.from(/* Your context here */); 
ViewGroup layoutTarget = /* Some layout object */; 

// ... 

for (int i = 0; i < items.size(); i++) { 
    // ... 

    final View v = li.inflate(R.layout.name_of_your_layout, layoutTarget, false); 
    layoutTarget.addView(v); 
} 

你應該能夠適應你的需要。這裏的關鍵是調用.inflate()方法,該方法創建該佈局的新實例。

+0

謝謝,Soxxeh。看起來不錯。我會在第二天左右證實這一點。 – gssi

相關問題