ساخت دکمه ی پاک کردن متن edittext در اندروید

در این مقاله قصد داریم با استفاده از یک ادیت تکست که داریم داخل آن از یک آیکون استفاده کنیم که با زدن آن متن مورد نظر داخل ادیت تکس پاک می شود و می توانید داخل آن دوباره متن دیگری بنویسید.

ساخت دکمه ی پاک کردن متن edittext در اندروید

آکادمی برنامه نویسان ، برگزار کننده دوره های آموزش برنامه نویسی با استفاده از اساتید مجرب و حرفه ای در سراسر ایران .

[ جهت مشاهده دوره های درحال ثبت نام کلیک کنید ]

ارائه مدارک معتبر آموزشی و ورود به بازار کار .

ابتدا شما در پوشه ی مربوط به عکس باید عکس زیر را قرار دهید:

حالا باید در کلاس جاوا متن زیر را قرار دهید:

 package com.createedittextwithcross_android_examples.com;

import android.app.Activity;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.view.View;
import android.widget.EditText;
import android.widget.ImageView;


public class MainActivity extends Activity {

 ImageView imageview;
 EditText edittext;
 @Override
 protected void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.activity_main);
 
 imageview = (ImageView)findViewById(R.id.imageView1);
 edittext = (EditText)findViewById(R.id.editText1);
 
 //Hiding cross button before start typing on EditText.
 imageview.setVisibility(View.GONE);
 
 edittext.addTextChangedListener(new TextWatcher() {
 
 @Override
 public void onTextChanged(CharSequence s, int start, int before, int count) {
 // TODO Auto-generated method stub
 
 //Show cross button after start typing.
 imageview.setVisibility(View.VISIBLE);
 
 }
 
 @Override
 public void beforeTextChanged(CharSequence s, int start, int count,
 int after) {
 // TODO Auto-generated method stub
 
 }
 
 @Override
 public void afterTextChanged(Editable s) {
 // TODO Auto-generated method stub
 
 }
 });
 
 imageview.setOnClickListener(new View.OnClickListener() {
 
 @Override
 public void onClick(View v) {
 // TODO Auto-generated method stub
 
 edittext.getText().clear();
 
 }
 });
 
 }
}

در کلاس layout قطعه کد زیر را قرار دهید:

 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
 xmlns:tools="http://schemas.android.com/tools"
 android:layout_width="match_parent"
 android:layout_height="match_parent"
 tools:context="com.createedittextwithcross_android_examples.com.MainActivity" >

 <RelativeLayout
 android:layout_width="fill_parent"
 android:layout_height="50dp"
 android:layout_margin="30dp"
 android:background="@layout/background_style" >

 <ImageView
 android:id="@+id/imageView1"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:layout_alignParentBottom="true"
 android:layout_toRightOf="@+id/editText1"
 android:src="@drawable/cross_icon"
 android:layout_marginBottom="7dp" />

 <EditText
 android:id="@+id/editText1"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:layout_alignParentBottom="true"
 android:layout_alignParentLeft="true"
 android:background="@null"
 android:ems="10"
 android:layout_marginBottom="14dp"
 android:layout_marginLeft="4dp"
 android:hint="TYPE HERE" >

 <requestFocus />
 </EditText>
 
 </RelativeLayout>
</RelativeLayout>

برای قسمت edittext باید قطعه کد زیر را قرار دهید:

<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item>
 <shape android:shape="rectangle">
 <solid android:color="#ffffff"/>
 <corners android:radius="10dp" />
 <stroke
 android:width="2dp"
 android:color="#3bbdfa"
 />
 </shape>
</item>
</selector>

خروجی به صورت زیر می باشد:

فایل های ضمیمه