2016-05-26 4 views
0

usernameNameにはここのloginNameが入力されています。私は、 "login" = "Friend"は、入力がなければ "Friend"をデフォルトユーザー名として表示しますが、それは正しくないと思います。そのコードの意味は何ですか? ?。。私はそれは入力がnullの場合のデフォルトは以下の "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

ありがとうございます。 Btw、この場合、入力がnullになることはありますか? – Rubit

+0

はい、キー "getString(R.string.login_name)"を含む文字列をインテントバンドルに追加しないとします。 –

1

ご利用いただけます

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

このようにすると、intentStringExtraがnullの場合、デフォルトのフレンドの値が提供されます。しかし、この最低限必要なSDKは12です。

+0

ありがとうございます。これは、loginNameがnullの場合は機能しますが、ケース入力の場合は機能しません( "")。だから私は上記の答えがかなり良いと思う。 – Rubit

+0

はいこれはキーの値が存在しない場合のみ有効です –

関連する問題