افزودن تعدادی عنصر جدید، به لایه گرافیکی متناظر با Activity ، توسط کدهای java ، در برنامه نویسی اندروید
همان طور که می دانید، برای هر Activity ، یک فایل xml در نظر می گیریم که عناصر لایه گرافیکی متناظر با Activity ، باید درون آن تعریف شوند. این عناصر را درون کدهای فایل xml تعریف می کنیم. اما گاهی نیاز داریم که توسط کدهای java و در نیمه های اجرای برنامه، یک عنصر جدید به لایه گرافیکی اضافه نماییم. بنابراین، در این مبحث قصد داریم که شیوه افزودن عناصر جدید به لایه گرافیکی متناظر با Activity توسط کدهای java را شرح بدهیم.
کدهای فایل xml متناظر با Activity را به صورت زیر می نویسیم :
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<ScrollView
android:id="@+id/ScrollView01"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@drawable/ic_launcher">
<LinearLayout
android:id="@+id/linear"
android:orientation="vertical"
android:layout_below="@+id/add_record"
android:layout_width="wrap_content"
android:layout_height="fill_parent">
</LinearLayout>
</ScrollView>
</LinearLayout>
سپس درون فایل مربوط به Activity (فایل java) و در میان کدهای java ، کدهای زیر را می نویسیم :
TextView tv = new TextView(this);
tv.setText("My Text");
Linear.addView(tv);
با اجرای این کدهای java ، یک TextView به لایه گرافیکی متناظر با Activity ، افزوده می شود.
شیوه کدنویسی برای عناصر دیگری مثل دکمه (Button) و ... نیز به همین صورت می باشد و تنها باید کدها را متناسب با عنصر، کمی تغییر بدهید.
به عنوان مثال، اگر بخواهیم یک دکمه (Button) اضافه کنیم، که با هر بار اشاره کاربر بر روی آن، یک پیام کوتاه به کاربر نمایش داده شود (با Toast)، کدهای زیر را می نویسیم :
Button b = new Button(this);
b.setText("My Button");
Linear.addView(b);
b.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// code for run after click
Toast.makeText(getApplicationContext(), "click", Toast.LENGTH_LONG).show();
}
});
با سلام
من این کد ها رو توی اندروید استدیو اجرا کردم و به مشکل برخوردم
میشه چند تا لینک معرفی کنید
از سایت های انگلیسی هم با شه خوبه
نمیدونم خودم باید چی رو جستجو کنم
مرسی
سلام . توی کدها اسم لاینر لایوت رو با ال کوچیک بنویسین درست میشه