2012-10-26 132 views
0

這可能是一個愚蠢的問題,所以我很抱歉,如果是的話;我對Android相當陌生。ViewStub - 用動態內容顯示視圖

但無論如何 - 我有一個工作的ViewStub,取決於不同的情況不同的佈局。當我調用setLayoutResource()方法時,顯示正確的佈局,然後將setVisibility設置爲VISIBLE,它工作正常。然而,我現在需要在這個視圖中顯示的一些內容是動態的(即,我需要通過代碼來設置它,而不僅僅是顯示靜態佈局)。

這甚至可能嗎? setLayoutResource()方法只需要一個靜態的佈局資源ID,但我需要這個佈局XML文件能夠讓它的TextViews包含來自我準備使用的一些代碼的非靜態文本。如果可能,應該如何處理?我理解擁有一個Java類的概念,並且鼓吹XML將它自己附加到它以更新字段,但我無法看到它與我的代碼之間的關係,因爲它只是一個佈局資源int,我需要設置它用於ViewStub中的setLayoutResource()方法。

如果需要,我可以發佈現有的代碼,但我不確定它的工作比混亂的帖子多得多。僅供參考 - 我擁有的是一個帶有一些TextView的簡單佈局XML文件,然後是包含ViewStub的主XML,它是自定義Dialog的一部分。用戶可以實例化對話框並設置佈局,然後設置ViewStub的佈局。這是我需要使用動態內容的佈局。

任何意見將不勝感激。謝謝!

回答

1

原來這並不是很難完成。我只是在膨脹ViewStub以獲得實際TextView的副本之後才需要使用TextView佈局的ID,然後我可以很容易地將它們的文本設置爲任何我想要的動態/自定義文本。

我還需要註釋掉通過。可見來電顯示它的代碼,而是做了以下(代碼.inflate()行完成同樣的事情,因爲它設置爲可見):

View inflatedView = dialog.myStubView.inflate(); 
TextView myTextView = (TextView) inflatedView.findViewById(R.id.my_text_view); 
myTextView.setText("Dynamic/Custom Text");