我使用getIdentifier()以整數形式動態獲取了id。我希望能夠使用整數ID獲取EditText字段所保存的值。使用標識符獲取Android EditText字段的值
我應該添加我寫的這個方法不在一個Activity內,它是在一個單獨的非Activity類中。
我使用getIdentifier()以整數形式動態獲取了id。我希望能夠使用整數ID獲取EditText字段所保存的值。使用標識符獲取Android EditText字段的值
我應該添加我寫的這個方法不在一個Activity內,它是在一個單獨的非Activity類中。
您可以如果您正在使用一個單獨的類使用
String value = ((EditText) findViewById(R.id.edittext)).getText();
,你應該傳遞給EditText上的引用到這個類。首先獲得參考
setContentView(R.layout.yourlayout);
EditText editText = (EditText) findViewById(getResources()
.getIdentifier("edittext", "id", "com.yourpackage"));
然後將它傳遞給你的其他類,並在其上使用getText
那裏。確保您只在「活動」處於活動狀態時嘗試訪問EditText。
沒有爲getIdentifier
方法的警告,因此,如果你沒有其他選擇,你應該只使用它:
注:使用此功能被勸阻。通過標識符而不是按名稱檢索資源要高效得多。
String value = ((EditText) findViewById(R.id.edittext)).getText().toString;
toString()
是必需的,因爲getText()
返回編輯
我使用getIdentifier()獲得了id。我把它放在R.id.edittext中,它不會讓我使用findViewByID()方法。 – Neeta
這是你問什麼?
String ed1 = ((EditText) findViewById(R.id.value)).getText().toString();
我使用getIdentifier()獲得了id。我把它放入而不是R.id.value,它不會讓我使用findViewByID()方法。 – Neeta
我不認爲你可以通過getIdentifier獲得佈局中的id?它用於獲取資源文件夾的標識,如(R.layout.xxx,R.drawable.xxx)。 – freshDroid
「我把在替代將R ......」 的意思? – user370305
我把int id作爲findViewByID()的參數,而不是例如R.id.name,它不能識別它。 – Neeta