Opt*_*dia 9 android android-layout android-edittext
我正在开发一个应用程序,我在其中以编程方式创建Edittext:
EditText edText = new EditText(this);
edText.setId(1);
edText .setLayoutParams(new TableLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT,0f));
edText .setInputType(InputType.TYPE_CLASS_NUMBER);
edText.setHint("dsgsdgsgs");
tableLayout.addView(edText);
Run Code Online (Sandbox Code Playgroud)
在这里,我将整个行中的编辑文本的ID设置为"1" edText.setId(1);.
但我需要的是 - 我想在字符中设置ID,例如:
edText.setId("edittext_hello");
Run Code Online (Sandbox Code Playgroud)
所以我可以通过该ID访问它.我怎样才能完成这项任务请帮忙.
Dor*_*ori 21
正如其他人所说,你不能这样做.为什么你想/你的要求是什么?
您可以在xml文件中创建一个id并使用它 - 如果您希望它是描述性的.这也是比使用文字更好的方法,int因为你可能会在布局层次结构中与其他视图发生id碰撞(不太可能,但可能).这对我来说似乎是解决问题的最佳/最干净的解决方案.
请参阅http://developer.android.com/guide/topics/resources/more-resources.html#Id
例如in res/values/id.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<item
type="id"
name="edittext_hello" />
</resources>
Run Code Online (Sandbox Code Playgroud)
然后设置
edText.setId(R.id.edittext_hello);
Run Code Online (Sandbox Code Playgroud)
Man*_*gde 18
您不能将id设置为String.您只能将整数指定为Id.但是如果你想使用String作为id以便于使用 - 那么在res/values/ids.xml文件中
<?xml version="1.0" encoding="utf-8"?>
<resources>
<item name="edit_text_hello" type="id"/>
</resources>
Run Code Online (Sandbox Code Playgroud)
然后将其用作:
edText.setId(R.id.edit_text_hello);
Run Code Online (Sandbox Code Playgroud)
所以你可以做你需要的.
您不能使用id,char或String除 ... 之外的任何其他内容进行设置int,因为id是R.java由仅包含int.
您可以使用setTag()代替setId().
使用setTag()如下...
edText.setTag("edittext_hello");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
26447 次 |
| 最近记录: |