我有一个带有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);
}
}
答案 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 。