2016-05-26 4 views
0

Имя входа здесь для ввода имени пользователя. Я предполагаю, что «loginName =« Friend »будет отображать« Friend »в качестве имени пользователя по умолчанию, если нет ввода, но это не так. Итак, что же означает этот код, и если я хочу отображать« Друг »по умолчанию, How ?.. я могу сделатьКакова функция "loginName =" Friend "" ниже?

package com.example.rubit.interactivestory.ui; 

import android.content.Intent; 
import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.widget.Toast; 

import com.example.rubit.interactivestory.R; 

public class Story extends AppCompatActivity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_story); 

     Intent intent = getIntent(); 
     String loginName = intent.getStringExtra(getString(R.string.login_name)); 

     if (loginName == null) { 
      loginName = "Friend"; 
     } 
     Toast.makeText(this,loginName,Toast.LENGTH_LONG).show(); 
    } 
} 

ответ

1

это по умолчанию при входе нулевой но вы, вероятно, есть проблема, что это не пустой, но пустой («») вы должны также проверить:

if (TextUtils.isEmpty(loginName)) { 
     loginName = "Friend"; 
} 
+0

Спасибо, что у меня есть. Кстати, есть ли способ, которым вход может быть пустым в этом случае? – Rubit

+0

Да, если вы не добавите String с ключом «getString (R.string.login_name)» к вашему набору намерений. –

1

вы можете использовать

Intent intent = getIntent(); 
String loginName = intent.getExtras().getString(getString(R.string.login_name), "Friend"); 

Таким образом, если ваше намерениеStringExtra равно null, оно предоставит вам значение Friend. Но для этого минимума требуется SDK 12.

+0

Спасибо. Это работает для случая loginName является нулевым, но не работает для ввода данных «". Поэтому я считаю, что вышеприведенный ответ довольно хорош. – Rubit

+0

Да, это работает только тогда, когда ваше значение ключа не существует, означает null –

Смежные вопросы