میگه از isEmpty نمیشه برای string استفاده کرد.
بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ
کار نکردن شرط درون setOnClickListener ( حل شد)
مدیریت گفتگو
آخرین تغییر: 11 سال پیش
package armin.nori.test.activity;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
public class Activity1 extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.form1);
TextView txtrahnema = (TextView) findViewById(R.id.txtrahnema);
final EditText edtname = (EditText) findViewById(R.id.edtname);
final Button btnname = (Button) findViewById(R.id.btnname);
final String Username = edtname.getText().toString();
btnname.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
if (TextUtils.isEmpty(Username)) {
Toast.makeText(Activity1.this, "باید نام خود را وارد کنید!", Toast.LENGTH_LONG).show();
} else {
Intent intent = new Intent(Activity1.this, Activity2.class);
intent.putExtra("USER_INPUT", Username);
Activity1.this.startActivity(intent);
}
}
});
}
}
- سلام , وقتی که برنامه رو اجرا میکنم, وقتیکه که یوزر چیزی درون edit text ننوشته پیام "باید نام خود را وارد کنید" رو نشون میده ولی وقتی اسمش رو مینویسه بازم همون پبام رو نشون میده و قسمت else اجرا نمیشه! ممنون میشم راهنمایی کنید.
پاسخها 3
اینو تست کد ( واقعا نفهمیدم چجوری کد زدی :)) )
package armin.nori.test.activity;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
public class Activity1 extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.form1);
TextView txtrahnema = (TextView) findViewById(R.id.txtrahnema);
final EditText edtname = (EditText) findViewById(R.id.edtname);
final Button btnname = (Button) findViewById(R.id.btnname);
String username = ""; //or null
btnname.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
username = editname.getText().toString();
if (username.isEmpty()) {
Toast.makeText(Activity1.this, "باید نام خود را وارد کنید!", Toast.LENGTH_LONG).show();
} else {
Intent intent = new Intent(Activity1.this, Activity2.class);
intent.putExtra("USER_INPUT", Username);
Activity1.this.startActivity(intent);
}
}
});
}
}
نظرات
مطمئنید ؟ برای من مشکلی نداشت ؟ برنامه کرش کرد یا تو اکلیپس میگه؟
تو اکلیپس میگه!
جلوی شرط if دیگه منظورتونه ؟ اگه بله میتونید با این تعویض کنید کد رو username == null
وقتی که if username = null مینویسم , وفتی edittext رو خالی میزارم یا چیزی مینویسم فقط قسمت else اجرا میشه! :(
وقتی که if username = null مینویسم , وفتی edittext رو خالی میزارم یا چیزی مینویسم فقط قسمت else اجرا میشه! :(
مگه وقتی edittext خالی هست مقدارش null نیست؟
ممنون بابت جواب هاتون, بالاخره کار کرد, فقط باید برای مقدار null باید بین دو گیومه فاصله قرار داد.
if(username.equals(" "))
نظرات
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .
ویرایش
پیام
نظرات