我有一个带有 EditText 的应用程序,当您单击按钮时,它将值发送到第二个屏幕/Activity 。打开应用程序时,EditText 中有提示,但这算不算空值吗?我目前有一个 if 语句,但无法用“friend”替换空值。 当 EditText 中没有输入任何内容时,如何更改代码以显示“ friend ”?
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);
}
}
最佳答案
欢迎来到 Stackoverflow!
方法getText()以 CharSequence 形式返回 TextView 的内容,该内容可以为空但不能为 null。您可以通过调用 myTextView.getText().length == 0 来检查它是否为空。
如果 TextVew 为空或仅由提示填充,则字符序列只是空的。您的第二个 Activity 得到一个空字符串,但绝不会为空。检查空字符串而不是null。
关于java - 如何使用 EditText 将空值替换为字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30248987/