如何在 Android 中以编程方式在 EditText 中设置 Id

2023-12-26

我在 GridLayout 上有一个名为 addnewTask 的按钮。当您创建此按钮时,它将创建一个 EditText。

private GridLayout gridLayout;

int rowIndex = 3;
int colIndex = 1;

int i=0;

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_set_task);

    gridLayout = (GridLayout) findViewById(R.id.taskLayout);

}

该函数用于在单击按钮时创建 EditText -->

public void addView(View view) {
    i++;
    String tname = "task" + Integer.toString(i);
    EditText editText = new EditText(this);
    GridLayout.LayoutParams param = new GridLayout.LayoutParams();
    param.height = ViewGroup.LayoutParams.WRAP_CONTENT;
    param.width = GridLayout.LayoutParams.MATCH_PARENT;
    param.rowSpec = GridLayout.spec(rowIndex);
    param.columnSpec = GridLayout.spec(colIndex);
    editText.setLayoutParams(param);
    if (rowIndex > 3) {
        editText.setTag(tname);
    }

    gridLayout.addView(editText);
    rowIndex++;
}

我的问题是我想设置我创建的 EditText 的 android:id 。

像这样:当单击按钮时,将在第 3 行第 1 列中创建 EditText,ID 名称为 task1。

再次单击该按钮时,将创建另一个 EditText,位于第 4 行、第 1 列,id 名称为 task2。

再次单击该按钮时,将创建另一个 EditText,位于第 5 行、第 1 列,id 名称为 task3。

等等.....


Android 中的 ID 不是字符串 - 它们始终是数字。即使你用xml编写@+id/textId,为此文本生成一个数字。你可以在你的R file.

您可以做的是将 id 分配给您的编辑文本,方法是使用editText.setId(int)方法。如果您希望能够轻松引用编辑文本,您可以:

  1. 按顺序分配 id:1,然后 2,3 等。然后该项目的 id 将是(row-1) * <columnsCount> + column)(因此,如果您有 3 列,则第五行中的第二项的 id 将为 4 * 3 + 2)

  2. 创建一个类型的地图字段Map<String, Integer>,再次按顺序分配id,并将它们保存在.

String tname = "task" + Integer.toString(i);   
EditText editText = new EditText(this);
editText.setId(i);
idsMap.put(tname, i);

然后你可以通过调用来获取edittext的ididsMap.get("task3")

第三种选择是只参考您的EditText在地图中:然后你就会有一个Map<String, EditText>地图,然后调用

String tname = "task" + Integer.toString(i);   
EditText editText = new EditText(this);
editTextsMap.put(tname, editText);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Android 中以编程方式在 EditText 中设置 Id 的相关文章

  • 将数据从服务传递到活动

    我有自行运行的服务 服务自动启动 我有活动 在此 Activity 按钮中启动该方法DoIt Button setOnClickListener new OnClickListener public void onClick View v
  • 使用 JSONArray 还是普通数组来存储/读取数据更有效?

    我正在使用一个连接到PHP MySQL返回所有内容的服务器JSON格式 例如 用户列表作为JSONArray of JSONObject 每个对象都包含单个用户的信息 姓名 位置 电话号码等 处理这种格式的信息时 将所有内容保留在其中会更有
  • 如何在 Android 中更改 Drawable 的颜色?

    我正在开发一个 Android 应用程序 并且我有一个从源图像加载的可绘制对象 在此图像上 我想将所有白色像素转换为不同的颜色 例如蓝色 然后缓存生成的 Drawable 对象 以便稍后使用它 举例来说 假设我有一个 20x20 PNG 文
  • 如何使用 gradle 从 3 个子模块构建 1 个 jar

    I have 安卓工作室3 gradle 4 1 梯度工具3 classpath com android tools build gradle 3 0 1 当我有一个模块并使用 gradle 工具 2 时 我使用了 task makeJar
  • Android 中的 Fragment-Fragment 通信

    我在Android编程方面处于初级水平 所以我需要你真诚的帮助 请任何人帮助我 我正在尝试使用片段构建滑动用户界面 所以我真正的疑问是 我有一个Fragment say FragmentA 它有一个TextView and Button在其
  • socket.io xhr 在连接缓慢时出现错误(3G 移动网络)

    当我在 3G 移动网络 互联网连接速度慢 上测试我的真实聊天应用程序时 Socket io反复断开然后重新连接 我已经记录了原因 它说 xhr post error 这提高了 transport error 然后断开连接 我可以知道什么意思
  • 如何通过我的活动在 Android 中设置铃声?

    我正在尝试找到一种方法来通过 Android 活动中的代码设置新的默认铃声 我已经将铃声下载到bytearray 最后 我设法将默认铃声设置为我下载的铃声 下面不包含下载代码 仅包含将其设置为默认铃声所需的代码 File k new Fil
  • Fragment 问题中的 ExpandableListView

    我正在尝试在片段中实现可扩展列表视图 没有错误出现 当我尝试记录两个的输出时List
  • 退出设备上的 system.img

    我正在为我们部署给客户的设备 LG p509 Optimus 1 开发自动应用程序更新解决方案 我们可以控制这些设备 并且目前在它们上安装自定义内核 但不是完整的自定义 ROM 由于我们试图在设备上自动更新我们的应用程序 因此我们需要由我们
  • ADB TCPIP 连接问题

    我有两台 Galaxy S3 其中一个已扎根 另一个则未扎根 因此 当我尝试通过本地网络连接它们时 计算机可以看到已root的计算机 但是正常的就卡在tcpip这一步了 所以 我写 adb tcpip 5555 It says restar
  • React Native Expo StackNavigator 重叠通知栏

    我正在尝试为我的 React Native Expo 应用程序实现导航栏 这里有一个问题 dependencies expo 18 0 3 react 16 0 0 alpha 12 react native 0 45 1 react na
  • 如何为我的 Android Market APK 创建证书?

    我想将我的第一个 APK 应用程序上传到 Android Market 但我收到了此错误 顺便说一下 在 stackoverflow 中搜索时并没有引导我找到正确的链接 市场不接受使用调试证书签名的 APK 创建有效期至少 50 年的新证书
  • Android NDK 代码中的 SIGILL

    我在市场上有一个 NDK 应用程序 并获得了有关以下内容的本机崩溃报告 SIGILL信号 我使用 Google Breakpad 生成本机崩溃报告 以下是详细信息 我的应用程序是为armeabi v7a with霓虹灯支持 它在 NVIDI
  • 移动设备上的 TensorFlow(Android、iOS、Windows Phone)

    我目前正在寻找不同的深度学习框架 特别是用于训练和部署卷积神经网络 要求是 它可以在带有 GPU 的普通 PC 上进行训练 但训练后的模型必须部署在三个主要的移动操作系统上 即 Android iOS 和 Windows Phone Ten
  • onTaskRemoved() 在华为和小米设备中没有被调用

    我一直在使用onTaskRemoved 服务中的方法 用于检测应用程序何时通过滑动从设备最近列表中删除 我执行一些日志记录和发生这种情况时需要执行的一些其他操作 它工作完美 然后我在运行Android 6 0的华为设备上检查了这个方法 该方
  • 受信任的网络活动 - 地址栏不隐藏(Android 72 的 Chrome)

    我已经关注了this https developers google com web updates 2017 10 using twa了解如何使用受信任的 Web 活动的指南 一切正常 但地址栏仍然出现 一开始我认为这是因为当应用程序正在
  • 如何在android中通过蓝牙向配对设备发送短信?

    在我的应用程序中 我想通过蓝牙发送和接收短信 我可以在列表视图中看到配对设备名称和地址的列表 但是当我尝试向配对设备发送文本时 什么也没有发生 在其他设备中没有收到文本 这是我向配对设备发送消息的代码 private void sendDa
  • Android 标记如何实现拖放?

    你好 我正在 Android 中开发 MapView 应用程序 我有三个标记 我希望稍后能够使用 Google Map API getlocation function 为了尝试一下 我想使用拖放功能移动标记 然后检查位置 任何人都可以通过
  • 丢失应用程序的密钥库文件(但已启用 Google Play 应用程序签名)

    我已经失去了原来的keystore用于签署我的应用程序的文件 我的应用启用了 Google Play 应用签名 如果我联系 Google 支持人员 是否可以重置密钥 以便我可以继续上传到此包 我希望我可以做到这一点 因为应用程序签名已启用
  • 检查应用程序是否在 Android Market 上可用

    给定 Android 应用程序 ID 包名称 如何以编程方式检查该应用程序是否在 Android Market 上可用 例如 com rovio angrybirds 可用 而 com random app ibuilt 不可用 我计划从

随机推荐

  • 在 jQuery 验证插件中自定义事件委托

    我目前正在设置 jQuery 验证插件以在我们的项目中使用 默认情况下 会自动设置一些事件来进行处理 IE 所有输入火验证上的焦点输入 输出 按键事件 我希望它仅在单击提交按钮时触发 此功能似乎内置于插件中 这使得很难做到这一点 不修改插件
  • Android 7 WebView 与wrap_content

    我有一个WebView with android layout height wrap content 里面一个ScrollView 在 Android 7 之前 这会导致 WebView 的大小调整为我设置的本地 html 内容的高度lo
  • 如何在 python-gql 中使用变量?

    这个函数将返回所有用户而不是给定的用户名 我怎样才能使它正确 还有更好的 Python GraphQL 客户端吗 gql 太简单了 没有太多文档可以检查 def fetch user username query gql query get
  • 将深色模式/浅色模式保存到本地存储

    我有一个黑暗模式功能 HTML SCSS 和 javascript 工作正常 但是当我刷新页面时 一切都恢复正常 而不是黑暗模式 我想将深色模式和浅色模式的值保存到localStorage 但我很困惑 我不知道该怎么办 有人可以帮助我吗 请
  • 将字节数组保存到 Excel 文件

    我从 ssrs 报告中获取一个字节数组 然后我想将其保存在服务器上的 Excel 中以供进一步处理 我可以在客户端浏览器上导出它 但是当尝试将文件保存在服务器上时 它会保存 但打开时出现错误 excel 无法打开文件 因为文件格式或文件扩展
  • 带有 http-bind 的 strope.js 无法加载资源 404 未找到

    我尝试使用 strope js 连接 ejabberd 服务器 但出现以下错误 POST http localhost http bind 404 Not Found Strophe Bosh processRequest sendFunc
  • RTMP流录制

    我有一堂课 在 ExoPLayer 的帮助下观看 rtmp 流 player ExoPlayerFactory newSimpleInstance context val rtmpDataSourceFactory RtmpDataSour
  • 如何在NUnit测试用例中传递字符串和字典?

    我想对我的方法进行测试 我可以传递 2 个字符串变量 但我不知道如何传递Dictionary lt gt 它看起来像这样 Test TestCase agr1 askdwskdls Dictionary
  • 退出按钮覆盖整个屏幕

    退出按钮覆盖整个屏幕有什么问题 我设置的边界覆盖文本 Exit 因此边界为 x 280 y 385 width 70 height 20 覆盖整个框架的按钮图像 注意 我在笔记本电脑上尝试了相同的代码 它工作得很好 但是当我在学校计算机上运
  • 如何可靠地将 X11 键码转换回扫描码或隐藏使用 ID

    几乎自己解决了 背景信息 Linux 密钥代码 以下内容来自 linux xmodmap tutorial 扫描码 键盘发送到计算机的数字 USB用 键盘 它是由 USB 标准定义的 Keycode Linux 内核用来表示按键 或鼠标 的
  • 在 Visual Studio 2013 中使用 Bootstrap 调试响应式 Web 应用程序时,IE 11 引发异常

    当我调整浏览器窗口大小并遇到响应断点时 此 动态 方法会在第 3 行抛出异常 window BROWSERTOOLS CONSOLE SAFEFUNC function fn var returnFn function return fn
  • R 函数 bs() 的输出解释(B 样条基矩阵)

    我经常使用 B 样条进行回归 到目前为止 我从来不需要理解的输出bs详细信息 我只会选择我感兴趣的模型 并将其与lm 但是 我现在需要在外部 非 R 代码中重现 B 样条模型 那么 生成的矩阵的含义是什么bs 例子 x lt c 0 0 1
  • 如何更改 yii2 中所有 gridview 的标题颜色?

    我想更改所有标题的背景颜色GridViewYii2 中的头文件 我知道下面的代码可以完成这项工作 但我只想更改一次 所有标题都具有相同的颜色 code
  • Chrome 标签在前台长时间处于后台后崩溃/挂起

    我有一个显示实时统计数据的页面 它运行大量 JavaScript 发出大量 HTTP 请求 使用 D3 js 每隔几秒渲染一次 SVG 图表 具有大量 CSS 动画 并频繁重新排列 DOM 只要页面聚焦 它就可以顺利运行 如果我切换到另一个
  • 根据条件更改 GridView 行颜色

    我想根据某些条件更改 gridview 的特定行颜色 我正在使用 ASP NET 和 C protected void GridView1 RowDataBound object sender GridViewRowEventArgs e
  • Python内部排序方法[重复]

    这个问题在这里已经有答案了 有谁知道Python在list sort 内部使用什么类型的排序 或者它至少保证 O n log n 这docs http docs python org 2 tutorial datastructures ht
  • 具有重复键名称的 JSON 在解析时会丢失信息

    因此 要么我回去告诉某人他们应该修复 JSON 要么我需要找出我做错了什么 这是 JSON 请注意范围出现三次 String j jobname test parameters parameter name maxErrors value
  • 通过引用 id 分配给环境(即不将 env. 传递给子函数)

    程序员经常在大函数中使用多个小函数 一路上我们可能想要收集某个环境中的东西以供以后参考 我们可以创造一个环境new env hash FALSE 并将其传递给较小的函数并分配assign 好吧 花花公子 我想知道我们是否可以使用环境的引用
  • 更改 dsym 文件中的 uuid

    我一直在努力改变uuid生成的 dsym 文件 以便 crashlytics 可以将崩溃日志与dsym 你知道有什么方法可以做到吗 有关更多上下文 在构建期间上传 dsym 的脚本失败 我没有注意到 Bitcode 被禁用 因此 itune
  • 如何在 Android 中以编程方式在 EditText 中设置 Id

    我在 GridLayout 上有一个名为 addnewTask 的按钮 当您创建此按钮时 它将创建一个 EditText private GridLayout gridLayout int rowIndex 3 int colIndex 1