如何用带有EditText的字符串替换空值?

时间:2015-05-14 23:13:52

标签: java android android-studio

我有一个带有EditText的应用程序,当你点击一个按钮时,它会将值发送到第二个屏幕/活动。在打开应用程序时,EditText中有一个提示,但这不是一个空值吗?我目前有一个if语句,但它无法用“friend”替换null值。 当没有在EditText中输入任何内容时,如何更改代码以显示“朋友”?

public class SecondActivity extends Activity {

public static final String TAG = SecondActivity.class.getSimpleName();

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

    Intent intent = getIntent();
    String message = intent.getStringExtra("message");
    if (message == null) {
        message = "Friend";
    }
    Log.d(TAG, message);


    TextView textView = (TextView) findViewById(R.id.button);
    textView.append(message);


}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.menu_second, menu);
    return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    // Handle action bar item clicks here. The action bar will
    // automatically handle clicks on the Home/Up button, so long
    // as you specify a parent activity in AndroidManifest.xml.
    int id = item.getItemId();

    //noinspection SimplifiableIfStatement
    if (id == R.id.action_settings) {
        return true;
    }

    return super.onOptionsItemSelected(item);
}

}

2 个答案:

答案 0 :(得分:0)

使用类似的东西

Bundle extras = getIntent().getExtras();
        if (extras!= null) {
            textview.setText(extras.getString("message"));
        }else{
            textview.setText("Friend");
        }

我猜你的问题在于追加(你没有在textview上加入/添加任何内容),首先尝试使用setText(),稍后在你的代码中,如果你想要使用追加

答案 1 :(得分:0)

欢迎使用Stackoverflow!

方法getText()将TextView的内容作为CharSequence返回,该CharSequence可能为空但不为null。您可以通过致电myTextView.getText().length == 0来检查它是否为空。

如果TextVew为空或仅由提示填充,则char序列为空。您的第二个活动获取一个空字符串但从不为null。检查空字符串而不是 null