2017-10-17 5 views
0

Ich habe den Code untenAndroid: GetText von TextView tut nichts?

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"); 
} 

Ich versuche, eine abhängig zu machen, wo, wenn der Text für bT noch nicht gesetzt ist, ich es eingestellt.

Dies hat das kleine Problem, gar nichts zu tun - selbst die Log-Tags werden nicht angezeigt.

Ich weiß, dass ich die richtige Sicht, weil ich rufe setText kann() ganz gut, und ich weiß, dass der Code tatsächlich diesen Punkt erreicht, weil

Log.e (LOG_TAG, LOG_TAG)

wird gut funktionieren.

Ich habe nur keine Ahnung, wie Sie die Bedingung hier festlegen.

+3

'getText()' wird nicht null zurückgeben. Wenn die 'TextView' leer ist, wird eine leere' Editable' zurückgegeben. Auch diese beiden 'if's sind genau gleich. –

Antwort

1

können Sie verwenden:

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; 
} 

oder

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

Ich hoffe, dass es Ihr Problem helfen können!

2

Verwenden TextUtils zu prüfen, ob der Textview

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

diese Lösung Versuchen Sie, das getText in eine Variable strGetText und sicherzustellen, unterscheidet leer ist, dass es nicht leer sein sollte.

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"); 
}