我有一些代码可以从主要活动中调用一个Activity
Button btnAdd=(Button)findViewById(R.id.button1);
btnAdd.setOnClickListener(new View.OnClickListener() {
EditText Name =((EditText)findViewById(R.id.editText1));
public void onClick(View view) {
if (name1 != "")
{
Intent startSub = new Intent(MainActivity.this,activity2.class);
startSub.putExtra("name", name1);
startActivity(startSub);
} else {
Nm.setError("Enter Name");
}
}
我的问题是,当我点击按钮而不输入名称时,它会启动下一个Activity(即使我将意图放在if语句中)。 但我想坚持这个活动,直到我输入名字。
任何人都可以帮助我吗?
答案 0 :(得分:0)
name1 != ""
将始终为true,因为!=不比较字符串,而是对象引用。对于name1和“”,它们并不相同。
您需要使用equals()以有用的方式比较字符串相等性:
if (!"".equals(name1)) {
或者在这种情况下:TextUtils.isEmpty(CharSequence str)甚至更好,因为如果name1为null,它也是如此:
if (!TextUtils.isEmpty(name1)) {