我有一个列表视图,其中我有2个文本视图,其中一个textview默认包含零文本,但可以由用户更改。问题是当textview为空时我需要这样做,它的可见性设置为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);
}
我知道当没有文字时用户不会看到textview,但是我需要系统看不到它。这是因为当dicttag textview中没有文本时,我需要将时间戳文本视图置于相对布局中。我无法发布xml布局,因为我没有任何空间
答案 0 :(得分:3)
有点不清楚实际问题是什么,但是这里...... [/ p>
首先,您确定if语句是否正常工作?您正在将Java中的String与==
进行比较。我不知道text
在哪里,而是使用if (text.equalsIgnoreCase(""))
。
其次,假设您在主UI线程上处理它,TextView上的TextView.setVisibility(View.GONE)
应该按预期工作。您始终可以覆盖ListView适配器并创建自定义适配器,并在ListView中为每个项目执行可见性操作。有很多帖子和教程可以做到这一点。
答案 1 :(得分:1)
隐藏的txt.setVisibility(View.GONE) txt.setVisibility(View.VISIBLE); for show
答案 2 :(得分:1)
尝试使用if (text.equals (""))
代替if (text == "")