الجمعة، 23 نوفمبر 2012

الدرس السادس : اداة EditText و الكتابة و القراءه منها


الدرس السادس : اداة 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;
    }
}

الآن قم بتشغيل البرنامج علي المحاكي
انتهي الدرس بحمد الله


ليست هناك تعليقات:

إرسال تعليق