تعریف عملی معین در برابر متنی خاص
سلام دوستان
یه EditText دارم یک Button و یک TextView .اصل برنامه به این صورت کار میکنه که کاربر هر متنی رو توی EditText وارد کرد و روی Button کلیک کرد اون متن توی TextView نمایش داده میشه و همینطور یک Toast نمایش داده میشه و میگه خوش آمدید + اسم ورودی در EditText .تا اینجای کار همه چیز خوبه.
اما میخوام مثلا وقتی کاربر متنی خاص رو وارد EditText و روی Button کلیک کرد به جای خوش آمدید + اسم ورودی در EditText یک Toast با محتویات خاص و همینطور مقدار TextViewبصورت خاص تعریف شه.
مثلا اگه EditText اسم کاربر رو بگیره و با کلیک کاربر روی Button مقدار EditText در TextViewنمایش داده بشه وقتی کاربر اسمی خاص مثلا Mehdi رو وارد EditText کرد و روی Button کلیک کرد مقدار Toast و همینطور TextView برابر متنی خاص بشه مثلا : Welcome Admin
امیدوارم منظورم رو رسونده باشم.خودم هم تا جایی که سواد داشتم (بخش 4 - شی گرایی ) تست کردم و به نتیجه ای نرسیدم !
راه حل :
نکته ای که تونستم باهاش این مسئله رو حل کنم شرط دستور if بود که اقا صلاح گفتن.میتونید سورس کد کامل رو از اینجا دانلود کنید و یا قسمتی از سورس که باعث حل مسئه شد رو در پایین ببینید :
btnSendName.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
String name = edtGetName.getText().toString();
if (name.equals("Mehdi")) {
txtCaption.setText("Welcome Admin");
Toast.makeText(MyStartup3Activity.this, "Welcome Admin", Toast.LENGTH_SHORT).show();
} else if (name.equals("mehdi")) {
txtCaption.setText("Welcome Admin");
Toast.makeText(MyStartup3Activity.this, "Welcome Admin", Toast.LENGTH_SHORT).show();
} else {
txtCaption.setText("Welcome " + name);
Toast.makeText(MyStartup3Activity.this, "Welcome " + name, Toast.LENGTH_SHORT).show();
}
}
});
وقتی کاربر روی دکمه کلیک کرد با استفاده از (مثلا آیدی EditText برار با edtTest هست) از دستور زیر مقدار داخل EditText رو بگیر و در یک متغیر بریز
String name = edtTest.getText().toString();
حالا مقدار TextView رو مثل زیر برابر با متغیر name قرار بده و یک Toast هم نشون بده که متن پیغامش متغیر name هست (مثلا آیدی TextView برابر با txtWelcome)
txtWelcom.setText(name + "خوش آمدید");
Toast.makeText(G.context, name + "خوش آمدید", Toast.LENGTH_SHORT).show();
همه کارای بالا رو باید توی onClick مربوط به دکمه ات بنویسی
سلام آقا مهدی ، برای اینکار ابتدا شما باید اسمی که کاربر توی EditText وارد میکنه رو توسط کد زیر دریافت کنی :
EditText edtName = (EditText) findViewById(R.id.edtName);
و سپس یک دکمه برای انجام عملیات به پروژه اضافه کنی :
Button btnGo = (Button) findViewById(R.id.btnGo);
برای دکمه هم تعریف می کنیم که اگه روش کلیک شد اسمی رو که از کاربر دریافت کرده به اضافه خوش آمدید نشون بده :
btnGo.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
String get_name = edtName.getText().toString();
Toast.makeText(getBaseContext(), "Welcome" + " " + get_name, Toast.LENGTH_LONG).show();
txtShow.setText("Welcome" + " " + get_name);
}
});
و برای اینکه به جای Toast خوش آمدید رو توی TextView نشون بده همینطور عمل کن ، فایل پروژه کامل که مثال TextView رو هم داره برات آپلود کردم http://tiktm.com/Toast.zip
موفق باشی دوست عزیزم.
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .