هننشئ النهارده مشروع بسيط لجمع رقمين هنفهم من ازاي بنربط ال layout والمكونات الخاصه بيها بال Java class والكود بتاعي واشتغل عليهم
هننشئ مشروع جديد زي ما اتعلمنا من الدروس السابقة ونعطيه اسم Sum هنروح لملف ال XMl وهنسحب 2EditTextو Button و TextView
وال id ده بيتحفظ في ملف ال R.java اللي اتكلمنا عنه انه هو اللي بيربط ال View بالكود وطبعا كل واحد هيكون ليه id مختلف يعبر عنه مثلا اول EditText لبلبل نسميه num1 والثاني num2 وال Button نسميه summation و الTextView نسميه result
داخل ملف ال Java هنادي علي كل view عن طريق ال id الخاص بيه عن طريق دالة findViewById()v
EditText num_1 = (EditText)findViewById(R.id.etNum1);
لو
نلاحظ هنا عملنا Casting وده لان كل component في الlayout هي من نوع
View فهو كده بيشوف كل حاجه علي انها View فيجب اني احولها بعد ذلك للنوع
الذي احتاجه حتي لو لاحظنا داله findViewById فمن معناها انه يبحث عن ال
view صاحب هذا ال ID
; EditText num_1 = (EditText)findViewById(R.id.etNum1)
; EditText num_2 = (EditText)findViewById(R.id.editText2)
; Button sumNum = (Button)findViewById(R.id.button1)
; TextView viewResult = (TextView)findViewById(R.id.textView1)
عندنا اكثر من طريقة للتحكم في ال Button انا بفضل طريقتين منهم
الاولي :
بانشئ method في ملف الجافا وهتاخد مثلا اسم sum_Numbers
وداخل ال Button في ملف ال XML بعرفه ان ال onClick الخاص بيه هيكون هو الmethod
Button >
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignRight="@+id/editText2"
android:layout_below="@+id/editText2"
android:layout_marginRight="67dp"
android:layout_marginTop="58dp"
android:text="@string/sumn"
</ android:onClick="sum_Numbers"
وهذه الطريقة هي التي سنستخدمها حاليا
والثانية :
هي استخدام setOnClickListener وهي من معناها انه بيسمع الaction وينفذه وتكون بهذا الشكل
}()sumNum.setOnClickListener(new OnClickListener
@Override
} public void onClick(View v)
وهنا نكتب الكود الذي سينفذ
{
;({
واخر شئ محتاجين نعرفه هو كيفية اخذ قيمة من ال EditeText والتعامل معها ودي شرحناها في الJava واسمها Wrapper Class
وتكنب بهذه الطريقة
number_1 = Integer.parseInt(num_1.getText().toString())
وبكده انا اخدت القيمة اللي في ال EditeText حولناها الاول الي String عن طريق toString ثم الي int عن طريق Integer.parsInt
وبكده نكون عرفنا كل ما نحتاجه لكي نكتب الكود
اولا فكر في الكود وجربه بايدك
ثانيا ادخل علي اللينك واتاكد من الكود
EmoticonEmoticon