大家好,为什么这段代码不起作用? 我有TextView从sqlite数据库获取值我要检查它是否为空隐藏TextView。
mTel1 = (TextView) findViewById(R.id.tv_tel1);
String ed_text = mTel1.getText().toString().trim();
if(ed_text.length() == 0 || ed_text.equals("") || ed_text == null)
{
mTel1.setVisibility(View.VISIBLE);
}
else
{
mTel1.setVisibility(View.GONE);
}
XML
<TextView
android:id="@+id/tv_tel1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="3dp"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"
android:layout_marginTop="3dp"
android:background="@drawable/border"
android:clickable="true"
android:padding="10dp"
android:textColor="#0066cc"
android:textSize="18sp" />
答案 0 :(得分:2)
您尝试过:
if(ed_text.isEmpty())
{
mTel1.setVisibility(View.VISIBLE);
} else {
mTel1.setVisibility(View.GONE);
}
这应该可以解决问题。
您还应该在调用时检查TextView是否填充了DB数据。
答案 1 :(得分:0)
试试这个,
mTel1 = (TextView) findViewById(R.id.tv_tel1);
String ed_text = mTel1.getText().toString().trim();
if(ed_text!=null && ed_text.length()> 0)
{
mTel1.setVisibility(View.VISIBLE);
}
else
{
mTel1.setVisibility(View.GONE);
}
答案 2 :(得分:0)
简单,改变你的代码,
if (ed_text == null || ed_text.isEmpty()) {
mTel1.setVisibility(View.GONE);
} else {
mTel1.setVisibility(View.VISIBLE);
}
答案 3 :(得分:0)
根据你的问题答案是
if (tv.length() == 0) {
tv.setVisibility(View.GONE);
}
或者您可以使用
if (TextUtils.isEmpty(tv.getText()){
tv.setVisibility(View.GONE);
}
答案 4 :(得分:0)
试试这个:
if(ed_text.length() == 0 || ed_text.equals(""))
{
mTel1.setVisibility(View.GONE);
} else {
mTel1.setVisibility(View.VISIBLE);
}
另外,请记住始终在XML中设置visibility =“gone”:
<TextView
android:id="@+id/tv_tel1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="3dp"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"
android:layout_marginTop="3dp"
android:background="@drawable/border"
android:clickable="true"
android:padding="10dp"
android:textColor="#0066cc"
android:visibility="gone"
android:textSize="18sp" />