Android:从TextView的GetText不会做任何事情?
问题描述:
我有以下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)
将工作得很好。
我只是不知道如何在这里设置条件。
答
您可以使用:
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;
}
我希望它可以帮助您的问题!
答
使用TextUtils
检查的TextView是否为空
if(TextUtils.isEmpty(bT.getText().toString())) {
Log.e(LOG_TAG, "NULL");
}else{
// do whatever you want
}
答
尝试这种解决方案,其区分的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");
}
'getText()'不会返回null。如果“TextView”为空,它将返回一个空的“Editable”。另外,这两个“if”完全相同。 –