我有一个listview,其中我有2个textview,这些textview之一默认包含零个文本,但是可以由用户更改。问题是当textview为空时,我需要这样做,可见性设置为GONE。我对这可能如何工作有2个想法,要么在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);
}
我知道没有文本时用户不会看到textview,但是我需要它不能被系统看到。这是因为当dicttag textview中没有文本时,我需要将时间戳textview置于相对布局的中心。我无法发布xml布局,因为我没有任何空间
最佳答案
实际的问题是什么还不清楚,但是这里...
首先,您确定您的if语句是否正常运行?您正在将Java中的String与==
进行比较。我不知道text
在哪里,而是改用if (text.equalsIgnoreCase(""))
。
其次,假设您在主UI线程上处理它,则TextView上的TextView.setVisibility(View.GONE)
应该会按预期工作。您始终可以覆盖ListView适配器并创建自定义适配器,并在那里对ListView中的每个项目执行可见性操作。有很多相关的文章和教程。