2017-10-17 83 views
0

我有以下Android:从TextView的GetText不会做任何事情?

final TextView bT = (TextView) v.findViewById(R.id.b_t); 
Log.e(LOG_TAG, bT.getText().toString()); 
if (bT.getText() == null) { 
    Log.e(LOG_TAG, "NULL"); 
} else if (bT.getText() == null) { 
    Log.e(LOG_TAG, "NULL"); 
} 

我试图做一个有条件的地方如果BT文本并没有被设定,我将它的代码。

这有一个小问题,根本不做任何事情 - 即使日志标记不显示。

我知道我有正确的看法,因为我可以调用的setText()就好了,我知道的是,代码实际上达到这一点,因为

Log.e(LOG_TAG,LOG_TAG)

将工作得很好。

我只是不知道如何在这里设置条件。

+3

'getText()'不会返回null。如果“TextView”为空,它将返回一个空的“Editable”。另外,这两个“if”完全相同。 –

回答

1

您可以使用:

EditText bT = (EditText) findViewById(R.id.b_t); 
String strGetText= bT.getText().toString(); 
if (strGetText.trim().equals("")) { 
    Toast.makeText(this, "NULL", Toast.LENGTH_SHORT).show(); 
    Log.e(LOG_TAG, "NULL"); 
    return; 
} 

if(TextUtils.isEmpty(strGetText)) { 
    Toast.makeText(this, "NULL", Toast.LENGTH_SHORT).show(); 
    Log.e(LOG_TAG, "NULL"); 
    return; 
} 

我希望它可以帮助您的问题!

2

使用TextUtils检查的TextView是否为空

if(TextUtils.isEmpty(bT.getText().toString())) { 
    Log.e(LOG_TAG, "NULL"); 
}else{ 
    // do whatever you want 
} 
1

尝试这种解决方案,其区分的getText到一个变量strGetText并确保它不应该是空的。

final TextView bT = (TextView) v.findViewById(R.id.b_t); 
String strGetText= bT.getText().toString() 
Log.e(LOG_TAG, bT.getText().toString()); 

if (!TextUtils.isEmpty(strGetText)) { 
    Log.e(LOG_TAG, "It's not null"); 
} else { 
    Log.e(LOG_TAG, "It's null"); 
} 
相关问题