当没有要显示的文本时,将 textview 可见性设置为 GONE
Posted
技术标签:
【中文标题】当没有要显示的文本时,将 textview 可见性设置为 GONE【英文标题】:setting textview visibility to GONE when there is no text to show 【发布时间】:2011-05-20 12:00:45 【问题描述】:我有一个列表视图,其中有 2 个文本视图,其中一个文本视图默认包含零文本,但可以由用户更改。问题是当文本视图为空时我需要这样做,它的可见性设置为 GONE。我对这可能如何工作有两个想法,要么在 xml 中定义它,要么在数据库中以某种方式定义它。
public long createDate(String date)
ContentValues initialValues1 = new ContentValues();
initialValues1.put(KEY_DATE, date);
initialValues1.put(KEY_TIMESTAMP, "00:00");
if(text=="")
initialValues1.put(KEY_DICTTAG,View.GONE); //this does NOT work
else
initialValues1.put(KEY_DICTTAG,text);
initialValues1.put(KEY_DICTALARMTIME, "0");
initialValues1.put(KEY_DICTLISTIMAGE, R.drawable.list_icon);
return mdiktationsDb.insert(DATABASE_TABLE, null, initialValues1);
我知道当没有文本时用户不会看到文本视图,但可以这么说,我需要它不被系统看到。这是因为当 dicttag 文本视图中没有文本时,我需要时间戳文本视图在相对布局中居中。我无法发布 xml 布局,因为我没有任何空间
【问题讨论】:
我认为我们需要更多地了解您的代码。例如initialValues1
是什么?请提供更多上下文:)
我现在更新了我的帖子;)
【参考方案1】:
目前还不清楚实际问题是什么,但这里......
首先,您确定您的 if 语句工作正常吗?您正在将 Java 中的字符串与 ==
进行比较。我不知道text
在哪里,但请改用if (text.equalsIgnoreCase(""))
。
其次,TextView 上的TextView.setVisibility(View.GONE)
应该可以按预期工作,前提是您在主 UI 线程上处理它。您始终可以覆盖您的 ListView 适配器并制作一个自定义适配器,并在那里为 ListView 中的每个项目执行可见性操作。有很多帖子和教程可以做到这一点。
【讨论】:
如何在列表中的 1 个特定项目上使用 TextView.setVisibility(View.GONE)?不制作自定义适配器? 我没有做过类似的事情,我总是制作我的自定义适配器,因为它让我以一种优雅的方式完全控制。 @emil 编写自定义适配器对任何 android 开发人员的健康都有好处。不怕! 好的,我得试试看!在我们说话时寻找一个简单的教程,如果你知道一个,请链接到它:) 不仅想现在如何去做,而且想知道它给我带来了什么好处,以及如何使用 custum 适配器与库存适配器不同: )【参考方案2】:txt.setVisibility(View.GONE) 用于隐藏 txt.setVisibility(View.VISIBLE);作秀
【讨论】:
【参考方案3】:尝试if (text.equals (""))
而不是if (text == "")
【讨论】:
以上是关于当没有要显示的文本时,将 textview 可见性设置为 GONE的主要内容,如果未能解决你的问题,请参考以下文章
在 AlertDialog 正按钮上更改 textView 的可见性
应用ellipsize时,获取textview中可见字符的数量
可以将TextView放在RadioGroup中。但是,这是好的做法吗?