اذهب إلى المحتوى

Recommended Posts

  • 0
نشر

ضمن دالة on create نضيف لسطر التالي:

val button = findViewById<Button>(R.id.button)
  
button.setOnClickListener { _ ->
   // تعديلات تريدها بعد النقر على الزر
}

لاحظ أن id الزر لديك هو كلمة button لذلك عليك الوصول للزر عن طريقه..

كما يمكن استخدام 

getResources().getIdentifier("button", "id", getPackageName());

 

إن لم ترد استخدام findViewById فيمكن الوصول للمعرف الخاص بعناصر العرض مباشرة ضمن kotlin 

لكن تأكد من تضمين التالي:

ونضيف في Gradle الخارجية: 

apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'

هذا مثال لاستعمال الزر مع الواجهة التالية (عليك جلب Reference للعنصر) من خلال استخدام محدد وصول الموارد R

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical">

    <TextView
        android:id="@+id/studentName"
        android:padding="8dp"
        android:textSize="24sp"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

    <TextView
        android:id="@+id/studentSubject"
        android:padding="8dp"
        android:textSize="16sp"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

    <TextView
        android:id="@+id/studentCenter"
        android:padding="8sp"
        android:textSize="16sp"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

</LinearLayout>

و يمكنك الوصول للعناصر مباشرة لكن عليك تضمين المكتبة التالية:

import kotlinx.android.synthetic.main.activity_main.*

يصبح الاستدعاء هكذا:

import kotlinx.android.synthetic.main.activity_main.*

class KotlinActivity : AppCompatActivity() {
  
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        studentName.text = "Harshit" //That's it! 
    }
  
}

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...