بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ

کار نکردن شرط درون setOnClickListener ( حل شد)

مدیریت گفتگو
arnouir 11 سال پیش
آخرین تغییر: 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

Pr0gramm3r 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);

        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); } } }); } }

نظرات

arnouir 11 سال پیش
میگه از isEmpty نمیشه برای string استفاده کرد.
Pr0gramm3r 11 سال پیش
مطمئنید ؟ برای من مشکلی نداشت ؟ برنامه کرش کرد یا تو اکلیپس میگه؟
arnouir 11 سال پیش
تو اکلیپس میگه!
Pr0gramm3r 11 سال پیش
جلوی شرط if دیگه منظورتونه ؟ اگه بله میتونید با این تعویض کنید کد رو username == null
arnouir 11 سال پیش
وقتی که if username = null مینویسم , وفتی edittext رو خالی میزارم یا چیزی مینویسم فقط قسمت else اجرا میشه! :(
arnouir 11 سال پیش
وقتی که if username = null مینویسم , وفتی edittext رو خالی میزارم یا چیزی مینویسم فقط قسمت else اجرا میشه! :(
arnouir 11 سال پیش
مگه وقتی edittext خالی هست مقدارش null نیست؟
sun.of.god.7 11 سال پیش

این رو امتحان کن

if (username.equals(""))
{
//Toast
}

نظرات

arnouir 11 سال پیش

ممنون بابت جواب هاتون, بالاخره کار کرد, فقط باید برای مقدار null باید بین دو گیومه فاصله قرار داد.

 if(username.equals(" "))

نظرات


پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .