如果数据为空,TextView将不会隐藏

问题描述:

我有两个活动,即MainActivity和NewActivity。单击MainActivity中的按钮,我将使用Intent移动到NewActivity,并将一些数据使用意向传递给NewActivity。如果数据为空,TextView将不会隐藏

intent.putExtra("PUBLISHEDAT",newses.get(position).getTitle()); 

在NewActivity,我检查是否从意向接收的数据为空或not.If为null我设置TextView的知名度GONE.But的TextView不会消失,显示为空,即使接收到的数据从意图为空。

if(getIntent().getStringExtra("PUBLISHEDAT")==null || getIntent().getStringExtra("PUBLISHEDAT")==""){ 
      publishedAtTextView.setVisibility(GONE); 
     } 

您不应该使用==来检查空字符串。 ==比较参考值,而不是数值。使用此:

getIntent().getStringExtra("PUBLISHEDAT").isEmpty() 
+0

。我这样做,如果(getIntent()。getStringExtra (“PUBLISHEDAT”)。isEmpty()){ publishedAtTextView.setVisibility(GONE); }。不工作 – Pritish

+0

请发布您的整个活动代码。 – Bob

+0

即使我写如果(getIntent()。getStringExtra(“PUBLISHEDAT”)。equals(null)),它不起作用 – Pritish

试试这个:

getIntent().getStringExtra("PUBLISHEDAT").trim().equals("") 

getIntent().getStringExtra("PUBLISHEDAT").trim().isEmpty() 
+0

尝试both.Not working.I也试图打印getIntent()。 getStringExtra(“PUBLISHEDAT”)。trim(),它显示为空。 – Pritish

+0

publishedAtTextView.setVisibility(View.GONE);这看起来不对! –

+0

你缺少视图。 –

我想在putExtra部分你把错误的值,也许 “零” 作为一个字符串!

检查与一些硬编码值,比如 “”“空”和“测试”检查您的主要活动,因为在新的活动,你这样做是正确的