2014-05-19 22 views
-2

嗨大家为什么这段代码不工作? 我有TextView从sqlite数据库中获取值我想检查它是否隐藏TextView。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

试试这个方式,如果(mTel1.getText()的toString()修剪。 ().length()> 0) –

+3

您的条件需要更改,如果(ed_text.length()== 0 || ed_text.equals(“”)|| ed_text == null) { mTel1.setVisibility (View.GONE); } else { mTel1.setVisibility(View.VISIBLE); } – Sripathi

回答

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); 
    } 
+0

感谢您的帮助,但其TextView隐形总是 – user1710911

0

简单,改变你这样的代码,

if (ed_text == null || ed_text.isEmpty()) { 
    mTel1.setVisibility(View.GONE);  
} else { 
    mTel1.setVisibility(View.VISIBLE); 
} 
+0

'ed_text == null'应该是第一个检查 – Blackbelt

+0

感谢朋友。我会改变它。 – Gunaseelan

+1

感谢您的帮助亲爱的,但也总是隐藏.. – user1710911

0

根据您的问题的答案是

if (tv.length() == 0) { 
tv.setVisibility(View.GONE); 

}

或者你可以使用

if (TextUtils.isEmpty(tv.getText()){ 

    tv.setVisibility(View.GONE); 
} 
+0

不幸的是,我已经尝试过,但剂量不工作.. – user1710911

2

你有没有试着用:

if(ed_text.isEmpty()) 
{ 
    mTel1.setVisibility(View.VISIBLE);  
} else { 
    mTel1.setVisibility(View.GONE); 
} 

这应该做的伎俩。

当您调用此方法时,您还应该检查TextView是否填充了DB数据。此外

if(ed_text.length() == 0 || ed_text.equals("")) 
    { 
     mTel1.setVisibility(View.GONE); 
    } else { 
     mTel1.setVisibility(View.VISIBLE); 
    } 

,记得要经常在XML设置可见= “水涨船高”:

0

试试这个

<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" /> 
相关问题