2013-09-25 36 views

回答

2

當您在佈局中定義一個ID時,它只是使用一個新字段修改自動創建的R文件。您指定的名稱將是變量的名稱(R.id.topRight)。

我想你可能會通過一些反射魔法來訪問變量的名字,但我覺得你正在以一種錯誤的方式去解決這個問題。

ID用於引用佈局中的視圖並在運行時創建實例。 如果你想在佈局元素中存儲一些字符串,你可以使用它來確定你想使用哪個視圖,我可能會使用「Tag」屬性而不是ID。

希望這會有所幫助。

+0

Hi @Gil Moshayof,我明白你的觀點。我通過在我的容器上添加了功能android:tag =「topRight」來嘗試你的風格。然後,當我的程序指向該容器時,我使用此代碼檢索「topRight」。 'containerName =(String)v.getTag();' v =我的容器。有效。 –

+0

很高興聽到:) –

2

看看這個,我有一個textView editTextUserName作爲id所以我得到它的價值就像我發佈的。試試吧,我希望它適合你。

EditText editTextUserName = (EditText) findViewById(R.id.editTextUserName); 

<EditText 
    android:id="@+id/editTextUserName" 
    android:hint="User Name" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content"> 
+0

它沒有被用戶詢問 – Yup

+0

我在想什麼,如果程序已經指向容器topRight。然後將容器轉換爲v。容器= v.getIdOfContainer()[類似這樣]。所以容器的價值是「topRight」。如果那甚至是可能的。 –

相關問題