الدرس السادس : اداة EditText
و الكتابة و القراءه منها
في هذا الدرس سنتعرف علي الأداة EditText وهي اده لا غني عنها في أي حيث تستخدم كمدخل
بيانات للتطبيق
في هذا الدرس سنقوم بإنشاء مشروع EditTextProject
كما بالصورة
و سنقوم بتغيير تخطيط الـ Activity
من Relative layout إلي LinearLayout
و هي لترتيب عناصر الشاشة طبقا لترتيب الاعلان عنها في ملف xml
الخاص بالواجهة Activity
و لتنفيذ هذا اذهب الي قائمة Refactor ثم Change layout type
ثم اختر منها LinearLayout
الان نريد تعديل الواجة لتظهر بالشكل التالي
بحيث يقوم البرنامج عند الضغط علي الزر Read
بقراءة النص من الاداة EditText و اضافته في الاداة TextView
اذهب الي نافذة الكود الخاصة بال Activity_main.xml
في المسار
res >> layout >> activity_main.xml
عدل الكود ليصبح بالشكل التالي
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/LinearLayout1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
>
<EditText
android:id="@+id/edit1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
<TextView
android:id="@+id/textview1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world"
/>
<Button
android:id="@+id/buttn1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Read
Text"
android:onClick="doReadEdit"
/>
</LinearLayout>
في هذا الكود نلاحظ ان:
تم انشاء EditText باستخدام <EditText …. />
تم اعطاء اسم edit1 للاداة EditText ,
من خلال الخاصية id
تم اعطاء اسم textview1
للاداة TextView
تم اعطاء اسم buttn1 للاداة Button
و كذلك تم اشاء الحدث Onclick و اعطائه القيمة doReadEdit
الان توجه الي نافذة الكود في المسار
Src >> arabic.android. edittextproject >>MainActivity.java
قم بفتح ملف MainActivity.java
اسفل الحدث Oncreate نقوم بانشاء
الاجراء الفرعي doReadEdit باستخدام الكود
public void doReadEdit(View view){
}
يجب الاعلان عن EditText الموجود في ملف التصميم activity_man.xml و يتم ذلك باستخدم جملة findViewById ثم الاشارة الي اسم EditText من ملف R.id و نضعه في متغير جديد باسم E1
و يتم ذلك باستخدام الكود التالي
EditText e1 =(EditText)findViewById(R.id.edit1);
يتم الاعلان عن TextView بنفس الطريقة
TextView t1 =
(TextView)findViewById(R.id.textview1);
ملاحظة في حالة ظهور خطأ : نقف علي الخطأ المحدد بخطر
احمر اسفلة و نختار Import القائمة
نعدل الكود للاجراء doReadEdit ليصبح
public void doReadEdit(View view){
EditText e1 =(EditText)findViewById(R.id.edit1);
TextView t1 = (TextView)findViewById(R.id.textview1);
t1.setText(e1.getText().toString());
}
ليصبح الكود كاملا
package arabic.android.edittextproject;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;
public class MainActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void doReadEdit(View view){
EditText e1
=(EditText)findViewById(R.id.edit1);
TextView t1
= (TextView)findViewById(R.id.textview1);
t1.setText(e1.getText().toString());
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
}
الآن قم بتشغيل البرنامج علي المحاكي
انتهي الدرس بحمد الله
ليست هناك تعليقات:
إرسال تعليق