آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

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

arnouir  11 سال پیش  11 سال پیش
+1 0

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 اجرا نمیشه! ممنون میشم راهنمایی کنید.
+1 0
if(Username .lenght() == 0) (11 سال پیش)
 برای این سوال 3 پاسخ وجود دارد.
پاسخ به سوال 
Pr0gramm3r  11 سال پیش
+2 0

اینو تست کد ( واقعا نفهمیدم چجوری کد زدی :)) )

 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); } } }); } }
0 0
میگه از isEmpty نمیشه برای string استفاده کرد. (11 سال پیش)
+1 0
مطمئنید ؟ برای من مشکلی نداشت ؟ برنامه کرش کرد یا تو اکلیپس میگه؟ (11 سال پیش)
0 0
تو اکلیپس میگه! (11 سال پیش)
0 0
جلوی شرط if دیگه منظورتونه ؟ اگه بله میتونید با این تعویض کنید کد رو username == null (11 سال پیش)
0 0
وقتی که if username = null مینویسم , وفتی edittext رو خالی میزارم یا چیزی مینویسم فقط قسمت else اجرا میشه! :( (11 سال پیش)
0 0
وقتی که if username = null مینویسم , وفتی edittext رو خالی میزارم یا چیزی مینویسم فقط قسمت else اجرا میشه! :( (11 سال پیش)
0 0
مگه وقتی edittext خالی هست مقدارش null نیست؟ (11 سال پیش)
پاسخ به سوال 
sun.of.god.7  11 سال پیش
+3 0

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

if (username.equals(""))
{
//Toast
}
پاسخ به سوال 
arnouir  11 سال پیش
+1 0

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

 if(username.equals(" "))

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