如何获取动态创建的textview的id?

2024-02-21

我正在尝试为我正在制作的 Android 应用程序动态添加和删除 TextView,但我遇到了设置和获取 TextView id 的困难。我似乎在最后两行代码(et.setText 和 ll.removeView)中遇到了空指针异常。有人对如何动态设置和获取文本视图的 id 有任何建议吗?显然 .setId 似乎不起作用,或者更有可能的是,我做错了。

//surrounding non-relevant code removed
EditText et = (EditText) view.findViewById(R.id.edittext_tags);
et.setText("");

TextView nTv = new TextView(view.getContext()); 
LayoutParams lparams = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);

lparams.setMargins(10, 0, 0, 0);
nTv.setLayoutParams(lparams);   
nTv.setId(tag_id);
nTv.setText(str.substring(0, str.length()-1));
nTv.setTextColor(Color.BLUE);               
nTv.setTextSize(20);
final LinearLayout linl = (LinearLayout) view.findViewById(R.id.linear_layout_tags);
linl.addView(nTv);

nTv.setOnClickListener(new View.OnClickListener() {         
    public void onClick(View v) {

        EditText et = (EditText) view.findViewById(R.id.edittext_tags);
        TextView t = ((TextView)v);
        et.setText(t.getText().toString());
        linl.removeView(v);

    }
});

The TextView不包含布局中的所有子级,LinearLayout做。制作linl final,然后你可以使用它nTV's OnClickListener(只要view包含布局。如果没有,您将需要做出一些关于您到底想要实现什么的决定 - 尽早参考布局可能会起作用)。

final LinearLayout linl = (LinearLayout) view.findViewById(R.id.linear_layout_tags);
linl.addView(nTv);

nTv.setOnClickListener(new View.OnClickListener() {         
    public void onClick(View v) {
        EditText et = (EditText) linl.findViewById(R.id.edittext_tags);
        TextView t = ((TextView)v);
        et.setText(t.getText().toString());
        linl.removeView(v);
    }

按照您的方法,实际上并不需要 id,因为您始终拥有对视图的引用。

但是,如果您想使用视图(非常多余的示例,但这是为了解释):

nTv.setId(tag_id);
linl.addView(nTv);

TextView duplicateTextViewReference (TextView) linl.findViewById (tag_id);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何获取动态创建的textview的id? 的相关文章

随机推荐

  • 实体框架表拆分:不在同一类型层次结构中/没有有效的一对一外键关系

    我使用实体框架 6 和代码优先方法 并且我希望将两个实体放入同一个表中 我究竟做错了什么 Table Review public class Review public int Id get set public PictureInfo P
  • 为什么Koala无法编译默认的Bootstrap 3 less文件?

    我正在努力学习 Bootstrap 3 及 Less 但在开始之前我就陷入了死胡同 经过两天的反复试验 我最终选择了Koala来将Less编译成CSS 我使用的是 Mac OS 10 7 所以 Codekit 已经出来了 现在只能在 8 上
  • Ruby 1.9 中的垃圾收集器调整

    我知道关于GC enable disable 但是有什么方法可以控制 Ruby1 9垃圾收集器更详细吗 在分析我的代码时 使用 perftools rb 我注意到 GC 最多占总样本的 30 我想看看是否可以调整 GC 以减少这个数字 是否
  • Java中的局部变量清空对GC有帮助吗

    我 被迫 添加myLocalVar null 在离开方法之前将语句放入finally子句中 原因是为了帮助GC 有人告诉我下次服务器崩溃时我会在晚上收到短信 所以我最好这样做 我认为这是毫无意义的 因为 myLocalVar 的范围仅限于方
  • 在 SQL 中多次连接同一个表[重复]

    这个问题在这里已经有答案了 我有一个表 每个 tran ref 列有 3 行或更多行 每行都有 amount 以及 tran id 以下是我的输入表 tran ref tran id amount T1 01 9 T1 02 8 T1 03
  • 如何将小数属性格式化为货币?

    我想将小数值格式化为货币值 我怎样才能做到这一点 属性可以返回它们想要的任何内容 但需要返回正确的类型 private decimal amount public string FormattedAmount get return stri
  • 一张图中的多个图

    我有以下代码 我想将相空间图组合成一个图形 我已经对这些函数进行了编码 但我不知道如何让 MATLAB 将它们放入一张图中 正如你所看到的 这是变量r a b and d这会改变 我如何将它们结合起来 我还想使用以下方法绘制这些相空间图的矢
  • C# 中的等效 char*

    我有一个用 C 编写的 dll 我正在 p invoking 来调用这些函数 我有这个 C 声明 int dll registerAccount char username char password 我已经完成了这个 dllimport
  • 在 C# 中处理整数溢出的最佳方法?

    处理整数溢出是一项常见任务 但在 C 中处理它的最佳方法是什么 是否有一些语法糖可以使其比其他语言更简单 或者这真的是最好的方法吗 int x foo int test x common if test common x Console W
  • LARAVEL 获取视图中 withErrors 的结果

    在我使用的控制器中 if validator gt fails return Redirect to admin profile gt withErrors validator gt withInput 如何在视图中获取 withError
  • PHP 5.2.17 的 round() 模式 ROUND_HALF_DOWN

    我需要在 PHP 5 2 17 中模拟 ROUND HALF DOWN 模式 我无法升级服务器的 PHP 版本 有什么想法如何实现这一目标 基本思想是 1 895 变成 1 89 而不是像通常使用 round 那样变成 1 90 编辑 这个
  • ILMerge - 命令退出,代码为 255

    我正在尝试使用 ILMerge 将 DLL 嵌入到单个可执行文件中 我在构建事件 gt 构建后事件命令行中添加了此命令行 C Program Files Microsoft ILMerge ILMerge exe out TargetDir
  • 模型输入必须来自“tf.keras.Input”...,它们不能是先前非输入层的输出

    我正在使用Python 3 7 7 和张量流 2 1 0 我有一个预先训练过的 U Net 网络 我想要得到它的编码器 and 它的解码器 如下图所示 您可以看到卷积编码器 解码器架构 我想要获取编码器部分 即出现在图像左侧的图层 以及解码
  • ASMX Web 服务公开类

    我正在使用简单的 ASMX 服务在 asp net c 中创建基本的 Web 服务 当我创建返回类的方法时 服务的客户端可以发现该类定义 我想知道是否有一种方法可以将类公开给不直接在任何服务方法中使用的服务 我需要我的服务客户端了解特定的类
  • 在javascript刷新中调用php函数

    我在 javascript 中有一个简单的函数 可以在设定的时间后刷新页面 function AutoRefresh t setTimeout location reload true t 现在每次刷新后 我希望它调用 PHP 函数 例如
  • 如何从列表中发出每个项目之间有延迟的项目?

    我想从列表中发出项目 并且在每次发射之间我想要一个延迟 我试过这个 final Subscription subscription Observable from listOfItems delay 2000 TimeUnit MILLIS
  • Eclipse 和 Maven 多模块项目的问题

    我创建了一个 Maven 项目 其结构如下 root project pom xml pom sub projectA jar sub projectB jar 我已完成以下步骤 mvn 原型 创建 DgroupId my group id
  • 如何在sql选择中隐藏不同的列

    我正在 sql 中执行查询以查找具有不同值的行name如下 select distinct name age sex from person 它有效 但我不想在结果集中显示名称列 有没有办法隐藏此栏 EDIT1我说的原因distinct n
  • 有效地将线段排序成循环

    我正在使用一个图书馆 JavaScript Voronoi https github com gorhill Javascript Voronoi 它生成表示闭合多边形的线段数组 这些线段显示无序 无论是线段出现的顺序还是线段每端点的顺序
  • 如何获取动态创建的textview的id?

    我正在尝试为我正在制作的 Android 应用程序动态添加和删除 TextView 但我遇到了设置和获取 TextView id 的困难 我似乎在最后两行代码 et setText 和 ll removeView 中遇到了空指针异常 有人对