سلام دوستان در این سری از آموزش برنامه نویسی اندروید به آموزش EditText به زبان کوتلین در برنامه نویسی اندروید می پردازیم همان طور که گفتیم زبان کوتلین بسیار قدرتمند است و مزایای آن را در مقاله های قبلی بررسی کردیم امروز درصدد برآمیدم تا آموزش EditText به زبان کوتلین را در برنامه نویسی اندروید برای شما قرار دهیم در ادامه با ما همراه باشید.
قبل از هر کاری باید زبان کوتلین را به اندروید استودیو اضافه کنید از لینک زیر برای اینکار استفاده کنید.
بعد اضافه کردن کوتلین یک layout به نام activity_edit_text.xml ایجاد کرده و کدهای زیر را در آن قرار دهید.
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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"
android:orientation="vertical"
tools:context=".EditTextActivity">
<EditText
android:id="@+id/edittext"
android:lines="3"
android:maxLength="100"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"/>
<TextView
android:id="@+id/tv_result"
android:gravity="center"
android:layout_width="match_parent"
android:layout_height="300dp" />
<Button
android:id="@+id/btn_copy"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="copy"/>
</LinearLayout>
در بالا یک EditText برای گرفتن ورودی قرار گرفته است و همینطور یک TextView برای نمایش متن قرار گرفته EditText استفاده شده است و یک دکمه برای انجام action ما .
بعد از اینکار یک اکتیویتی به نام EditTextActivity.kt (دقت کنید نباید .java باشد !) و کدهای زیر را در آن قرار دهید.
package ir.programchi
import android.support.v7.app.AppCompatActivity
import android.os.Bundle
import android.text.Editable
import android.text.TextWatcher
import android.widget.ArrayAdapter
import android.widget.Button
import android.widget.EditText
import android.widget.TextView
class EditTextActivity : AppCompatActivity() {
lateinit var edittext : EditText
lateinit var result : TextView
lateinit var copy : Button
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_edit_text)
edittext = findViewById(R.id.edittext) as EditText
result = findViewById(R.id.tv_result) as TextView
copy = findViewById(R.id.btn_copy) as Button
copy.setOnClickListener({
result.text = edittext.text
})
edittext.addTextChangedListener(object :TextWatcher{
override fun afterTextChanged(s: Editable?) {
}
override fun beforeTextChanged(s: CharSequence?, start: Int, count: Int, after: Int) {
}
override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) {
result.text = s
}
})
}
}
در بالا ما سه تا view از نوع Button , TextView و EditText داریم ابتدا View مربوط به هرکدام را find می کنیم بعد از اینکار برای دکمه یک Click Listener تعریف می کنیم و در آن می گوییم که هر چیزی در EditText بود را در TextView قرار دهد. بعد از اینکار برای EditText خود Listener تعریف کردیم تا زمانی که متن EditText تغییر کرد نتیجه آن در متغیر Result قرار گیرد.
این آموزش هم به پایان رسید.
موفق و موید باشید.
مطالعه بیشتر