我有一個textView,它首次在主活動onCreate文件中創建。像這樣如何設置主活動中定義的視圖的文本(無XML)
Button btn = new Button();
然後我設置像一個標識它的一些屬性和一些的LayoutParams
btn.setText("Button");
btw.setId("btn");
btn.setLayoutParams(new ViewGroup.LayoutParams(
ViewGroup.LayoutParams.WRAP_CONTENT,
ViewGroup.LayoutParams.WRAP_CONTENT));
所以我的問題是我怎麼能訪問同一個文件內,這個ID來改變的文本按鈕。像
findViewById(R.id.btn);
除了當我這樣做,我得到一個錯誤。我假設這是因爲這沒有在XML中定義。
編輯:我不能預先在xml中定義這些按鈕,因爲它們是基於程序的其他因素生成的。
謝謝。
爲什麼你需要它的ID?在'MainActivity'內定義'Button'作爲全局變量,並在該文件內的任何位置使用它。 –
@Yildirim是的,但我需要基於輸入的ID,我可以相應地更新按鈕。 –
'findViewById'通常用於擴充您在活動的相應XML文件中定義的UI元素,而不是用於在Java代碼中創建的UI元素。 –