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

کار با EditText

Mir Unknown  12 سال پیش  12 سال پیش
+3 0

من میخواهم تو EditText بیشتر از 4 حرف نشه وارد کرد چکار کنم؟

 برای این سوال 9 پاسخ وجود دارد.
پاسخ به سوال 
Spirit  12 سال پیش
+3 0

 <EditText
android:id="@+id/input"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="number"
<-- اینجا -->
android:maxLength="4" />
پاسخ به سوال 
Mir Unknown  12 سال پیش
0 0

ی سوال دیگه راجب EditText امیدوارم همینجا جواب بگیرم و مجبور نشم یک سوال دیگه براش ایجاد کنم!

میخواهم بعد این که رو یک دکمه کلیک شد و مقدار EditText گرفته شد مقدار وارد شده از EditText حذف بشه از چه کدی استفاده کنم؟!

پاسخ به سوال 
h_r_v  12 سال پیش
+2 0

اگه درست منظورتون رو متوجه شده باشم اول مقدار edittext توی یک string به اسم value ذخیره شه و سپس مقدار پاک شه و یه جورایی edittext ریست شه :

 EditText test =(EditText) findViewById(R.id.test);
Button button = (Button) findViewById(R.id.button);
button.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View arg0) {

String value = test.getText().toString();
test.setText("");


}
});


0 0
منظورم همین بود ولی فکر میکردم راه قانونی تری داره! (12 سال پیش)
پاسخ به سوال 
Mir Unknown  12 سال پیش
0 0

ایا راهی هست که بشه کاری کرد که کاربر فقط مجاز به وارد کردن یک سری کاراکتر های خاص باشه مثلا فقط بتونه حروف الفبا رو وارد کنه اونم الفای فارسی؟!

پاسخ به سوال 
SaM MP  12 سال پیش
+1 0

بله در بخش Properties تکستت در قسمت Input type میتونی نوع کاراکتر مجاز مورد نظرت رو انتخاب کنی.

 

0 0
واس الفبای فارسی کدومو انتخاب کنم؟! (12 سال پیش)
پاسخ به سوال 
محمد حسین زاده  12 سال پیش
+1 0

اینطوری میتونی keycode رو داشته باشی

 editText.setOnKeyListener(new OnKeyListener() {

@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {

//تعریف کد حروف فارسی
}
});

و فقط کد های رنج حروف فارسی رو بپذیری

پاسخ به سوال 
محمد حسین زاده  12 سال پیش
+1 0

کد های رنج فارسی رو چک نکردم ولی فکر کنم ایناس :

if((keycode<13 ||keycode>13))
if((keycode<32 || keycode >32))
if((keycode<8 || keycode>8))
if ((keycode < 1574 || keycode > 1711))
return false;
پاسخ به سوال 
Mir Unknown  12 سال پیش
0 0

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

 editText.setOnKeyListener(new OnKeyListener(){

@Override
public boolean onKey(View v,int keyCode,KeyEvent event){

//تعریف کد حروف فارسی

if((keycode<13||keycode>13))
if((keycode<32|| keycode >32))
if((keycode<8|| keycode>8))
if((keycode <1574|| keycode >1711))
return false;
}
});
0 0
گفتم که keycode ها رو تست نکردم. تست کن. کلیت داستان میتونه همچین شکلی باشه (12 سال پیش)
0 0
منم همین کلیت منظورم بود اونشم با کمک شما حل میشه (12 سال پیش)
0 0
اگه کار کرد خبر بده (12 سال پیش)
0 0
کار نکرد! (12 سال پیش)
پاسخ به سوال 
محمد حسین زاده  12 سال پیش
0 0

 EditText edtMain = (EditText) findViewById(R.id.edtMain);
final TextView txtCode = (TextView) findViewById(R.id.txtCode);

InputFilter filter = new InputFilter() {

@Override
public CharSequence filter(CharSequence source, int start, int end,
Spanned dest, int dstart, int dend) {
for (int i = start; i < end; i++) {
int keycode = Character.getNumericValue(source.charAt(i));
txtCode.setText("" + keycode);
if ((keycode < 13 || keycode > 13))
if ((keycode < 32 || keycode > 32))
if ((keycode < 8 || keycode > 8))
if ((keycode < 1574 || keycode > 1711))
return "";
}
return null;
}
};

edtMain.setFilters(new InputFilter[] { filter });

البته کیکد ها رو تست نکردم - لیسنر قبلی طبق داکیومنت های گوگل با کیبورد های نرم افزاری کار نمیکنه.

0 0
یه توضیح در مورد شرط keycode ها : بازه هایی که تو کد هست صرفا برای مشخص کردن مثلا رنج اعداد - حروف خاص و امثالهم کاربرد داره. یعنی الزامی به وجود حتما کدی با این شمایل نیست. (12 سال پیش)
0 0
با این کد باید فقط کیبورد فارسی باز بشه درسته؟! یا این که کیبورد بصورت طبیعی باز میشه اما EditText فقط کلامات فارسی رو میپذیره؟! (12 سال پیش)
0 0
نه این فقط برای اعتبار سنجیه. کیبورد فارسی مثل یه کیبورد عددی استاندارد نیست (12 سال پیش)

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