omid9191

ارور EditText هنگام خالی بودن

11 ارسال در این موضوع قرار دارد

سلام من یه برنامه کوچیک نوشتم که از کاربر ماه و روز تولد رو میگیره  یه سری اطلاعات در باره اون ماه و روز تولدش می ده

من از دوتا EditText - - number استفاده کردم ولی زمانی که کاربر ET هارو  پر نکنه   و اینتر کنه برنامه crash  میشه

چه جوری میشه وقتی ET  ها خالی بود یه پیغام بده

	private EditText edit ;
private Button result;
private int num = 0;
private int num2 = 0;
private TextView   resultext;
private TextView   date;


   @Override
   protected void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.activity_main);
       
       
       
       
       final EditText edit = (EditText)findViewById(R.id.editText1);
       final EditText edit2 = (EditText)findViewById(R.id.editText2);
       final Button result = (Button)findViewById(R.id.button1);
       
   
       
      resultext = (TextView)findViewById(R.id.textView1);
      date = (TextView)findViewById(R.id.textView2);
      
      
      
      
       result.setOnClickListener(new OnClickListener() {


		public void onClick(View arg0) {
			num=Integer.parseInt(edit.getText().toString());
			num2=Integer.parseInt(edit2.getText().toString());


			if(){
				date.setText("empty");
			}

		 if(num ==1 && num2 <=10){
				 date.setText("1 فروردین تا 10 فروردین - درخت زبان گنجشک (حساسیت)"); 
				 resultext.setText("خصوصیات:\n سرشار از جذابيت ٬ با نشاط و سرزنده است \nدوست دارد توجه دیگران را به خود جلب كند"
				 		+ "\nعاشق زندگی ،فعالیت و حتی پیچیدگی هاست"
				 		+ "\nمستقل ٬ خوش سليقه ٬ پراحساس ٬ یار و هم صحبتی خوب است"
				 		+ "\nكسی كه تمایل به عفو و گذشت ندارد");
			 }else if (num ==1 && num2<=20 ) {
				date.setText("11 فروردین تا 20 فروردین - درخت افرا(استقلال فکری)");
				resultext.setText("خصوصیات : \n  فردی معمولی نیست و سرشار از تصور و خلاقیت و ابتکار  \n "
						+"خجالتی تودار ،بلندپرواز و مغرور"
						+ "\n متکی به نفس ، به دنبال تجارب جدید و گاهی عصبی است"
						+ "\nحافظه و ذهن قوی دارد و به آسانی یاد میگیرد"
						+ "\n همیشه میخواهد اثری خوب روی دیگران داشته باشد");

			}
		      



		}

	});

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

مقدار ادیت تکست ها رو بگیر اگه مساوی با نال بود یه پیغام بده که خالیه.

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

مقدار ادیت تکست ها رو بگیر اگه مساوی با نال بود یه پیغام بده که خالیه.

null میزارم  ارور

Unfortunately(app name )has stopped  میده

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

کدت رو بزار.تا ببینیم چه کردی

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

سلام

می تونید سایزش رو بررسی کنید

اگر شرایط زیر برقرار بود پیام خالی بودن رو نمایش بده

.size() == 0.کلمه دریافتی(num)

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
package com.AppLike.testravanshenasi;

import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
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 MainActivity extends ActionBarActivity {
private EditText edit ;
private EditText edit2 ;
private Button result;
private int num = 0;
private int num2 = 0;
private TextView   resultext;
private TextView   date;


   @Override
   protected void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.activity_main);





       final EditText edit = (EditText)findViewById(R.id.editText1);
       final EditText edit2 = (EditText)findViewById(R.id.editText2);
       final Button result = (Button)findViewById(R.id.button1);



      resultext = (TextView)findViewById(R.id.textView1);
      date = (TextView)findViewById(R.id.textView2);



       result.setOnClickListener(new OnClickListener() {


		public void onClick(View arg0) {
			num=Integer.parseInt(edit.getText().toString());
			num2=Integer.parseInt(edit2.getText().toString());


                 if(edit  == null && edit2 == null){
               	  date.setText("empty");
                 }

			else if(num ==1 && num2 <=10){
				 date.setText("1 فروردین تا 10 فروردین - درخت زبان گنجشک (حساسیت)"); 
				 resultext.setText("خصوصیات:\n سرشار از جذابيت ٬ با نشاط و سرزنده است \nدوست دارد توجه دیگران را به خود جلب كند"
				 		+ "\nعاشق زندگی ،فعالیت و حتی پیچیدگی هاست"
				 		+ "\nمستقل ٬ خوش سليقه ٬ پراحساس ٬ یار و هم صحبتی خوب است"
				 		+ "\nكسی كه تمایل به عفو و گذشت ندارد");
			 }else if (num ==1 && num2<=20 ) {
				date.setText("11 فروردین تا 20 فروردین - درخت افرا(استقلال فکری)");
				resultext.setText("خصوصیات : \n  فردی معمولی نیست و سرشار از تصور و خلاقیت و ابتکار  \n "
						+"خجالتی تودار ،بلندپرواز و مغرور"
						+ "\n متکی به نفس ، به دنبال تجارب جدید و گاهی عصبی است"
						+ "\nحافظه و ذهن قوی دارد و به آسانی یاد میگیرد"
						+ "\n همیشه میخواهد اثری خوب روی دیگران داشته باشد");

			}




		}

	});



   }





}

کدت رو بزار.تا ببینیم چه کردی


شاید EditText  از نوع number  گرفتم  null قبول نمیکنه ؟

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

به جای data در

if(edit == null && edit2 == null){

num

بزارید

1 کاربر پسند دیده است

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

به جای data در

if(edit  == null && edit2 == null){

num

بزارید

date > text view  هستش واسه همین اگه بزارم ارور میده

جای edit رو num میزارم بازم از برنامه بیرون میاد

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

میتونید برک پوینت بزارید و برنامه رو دیباگ کنید و بررسی کنید

یا num.length() == 0 رو بررسی کنید

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

میتونید برک پوینت بزارید و برنامه رو دیباگ کنید و بررسی کنید

یا num.length() == 0  رو بررسی کنید

این کاری رو که گفتید رو انجام دادم اول ارور داد

بعد اومدم Integer  رو به integer تغییر دادم درست شد

ولی یه مشکلی که الان هست اینه که کارکتر هم دریافت میکنه 

قبلا فقط عدد نوشته میشد وحروف کیبور کار نمیکرد

واسه کارکتر میشه کاری کرد؟

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

می تونید صفحه کلید رو به گونه ای تغییر دهید که فقط اعداد رو نمایش بده

در xml این کد رو قرار بدین

android:inputType="number

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری