0

我想訪問由LayoutInflater創建的窗口小部件的子窗體,以便更改其中的TextView顯示的文本。 我怎麼能這樣做? 我做了一個圖來解釋。如何以編程方式更改由LayoutInflater創建的窗口小部件的屬性?

LinearLayout 
--->LayoutInflater 

    ---->LinearLayout 
     ---->LinearLayout 
       ---->TextView 
       ---->TextView 
    ---->LinearLayout 
     ---->LinearLayout 
       ---->TextView 
       ---->TextView 
    ---->LinearLayout 
     ---->LinearLayout 
       ---->TextView 
       ---->TextView 
etc 

我希望能夠訪問每個單獨的TextView並更改它的屬性。

回答

1

您可以訪問TextView並通過inflater返回的View更改其屬性。

我假設你有這樣的事情:

View view = inflater.inflate(R.layout.my_layout, null); 

然後,您可以訪問的資源是這樣的:

TextView text = (TextView)view.findViewById(R.id.textView1); 
text.setText("Hello"); 
+0

所以findViewById只返回調用它的視圖的孩子嗎? – Tim

+0

是的,你是對的。 –

相關問題