Android:以编程方式设置编辑文本或 TextView id

标签 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);

在这里,我通过 edText.setId(1); 行将编辑文本的 id 设置为整数“1”。

但我需要的是 - 我想以字符形式设置 ID,例如:

edText.setId("edittext_hello");

这样我就可以通过那个 id 访问它。我怎样才能完成这个任务请帮助。

最佳答案

正如其他人所说,您不能这样做。你为什么想要/你的要求是什么?

您可以在 xml 文件中创建一个 id 并使用它 - 如果您希望它具有描述性。这也是比使用文字 int 更好的方法,因为您可能会与布局层次结构中的其他 View 发生 id 冲突(不太可能但可能)。这对我来说似乎是解决您问题的最佳/最干净的方法。

参见 http://developer.android.com/guide/topics/resources/more-resources.html#Id

例如在 res/values/id.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <item
        type="id"
        name="edittext_hello" />
</resources>

然后设置

edText.setId(R.id.edittext_hello);

关于Android:以编程方式设置编辑文本或 TextView id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22527883/

相关文章:

android - 以编程方式在 scrollView 上设置边距

android - 在操作栏中移动图像按钮

android - 如何更改屏幕上的文本选择小部件?

java - 以编程方式控制 EditText 中的光标和文本

android - 仅向 firebase 中的一个用户发送通知

java - 返回并中断 foreach 循环 ArrayList

android - 如何使用可绘制图像自定义每个列表项 View ?

android - 如何将 utf8 字符数据从 android 插入到 codeigniter 服务器

java - 如何在单独的 View 中获取 TextView 的 OnClick 事件?

android - 禁用 editText 但颜色不同