首页 > Java > java教程 > 正文

如何在 Android 中以编程方式正确地将 TextView 添加到 LinearLayout?

Patricia Arquette
发布: 2024-10-26 05:53:03
原创
267 人浏览过

How to Correctly Add a TextView to a LinearLayout Programmatically in Android?

在 Android 中以编程方式将 TextView 添加到 LinearLayout

在 Android 开发中,经常需要将视图动态添加到定义的布局中一个 XML 文件。本文探讨了在代码中将 TextView 添加到预定义的 LinearLayout 的过程。

问题:

用户尝试将 TextView 添加到定义的 LinearLayout XML 使用以下代码:

<code class="xml">View linearLayout = findViewById(R.id.info);
TextView valueTV = new TextView(this);
valueTV.setText("hallo hallo");
valueTV.setId(5);
valueTV.setLayoutParams(new LayoutParams(
        LayoutParams.FILL_PARENT,
        LayoutParams.WRAP_CONTENT));

((LinearLayout) linearLayout).addView(valueTV);</code>
登录后复制

但是,此代码导致 ClassCastException 异常:

java.lang.ClassCastException: android.widget.TextView
登录后复制

解决方案:

错误由于 LinearLayout 变量的转换不正确而发生。要访问 LinearLayout,应将其显式转换为 LinearLayout:

<code class="xml">LinearLayout linearLayout = (LinearLayout)findViewById(R.id.info);
...
linearLayout.addView(valueTV);</code>
登录后复制

此外,应使用 LinearLayout.LayoutParams 而不是 LayoutParams 创建 LayoutParams 实例。

更正的代码:

<code class="xml">LinearLayout linearLayout = (LinearLayout)findViewById(R.id.info);

TextView valueTV = new TextView(this);
valueTV.setText("hallo hallo");
valueTV.setId(5);
valueTV.setLayoutParams(new LinearLayout.LayoutParams(
        LinearLayout.LayoutParams.FILL_PARENT,
        LinearLayout.LayoutParams.WRAP_CONTENT));

linearLayout.addView(valueTV);</code>
登录后复制

通过进行这些更改,TextView 将成功添加到 LinearLayout。

以上是如何在 Android 中以编程方式正确地将 TextView 添加到 LinearLayout?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!