کپی کردن یک لایه با محتویات داخلش (Duplicate Layout)
سلام دوستان
من یه LinearLayout دارم که توش یه ImageView هست و توسط کد زنی (Programmatically) تولیدش کردم و هیچ فایل xml نداره
حالا میخوام با کد زنی ازش کپی(Duplicate) بگیرم که محتویات داخلش هم باهاش کپی گرفته بشه
روشی برای این کار هست؟
سوال در پست سوم Update شد
سلام ، نیازی به کپی نیست . همونطور که لایه رو با کد زنی درست کردی و مثلا میگی :
layout1.addView(btn1);
layout1.addView(txt1);
layout1.addView(edt1);
به همین روش این لایه رو در لایه Parrent خودش add کن :
layout2.addView(layout1);
منظورت همینه ؟
سوالم رو واضح تر مطرح میکنم:
با استفاده از کد زیر من لایه ای رو ساختم و در کاستوم کنترل ادد کردم:
public class CustomControlextends LinearLayout{
LinearLayout linearLayout = new LinearLayout(this);
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);
linearLayout.setLayoutParams(layoutParams);
ImageView imageView = new ImageView(this);
imageView.setLayoutParams(layoutParams);
imageView.setBackgroundResorce(R.drawable.test);
linearLayout.addView(imageView);
this.addView(linearLayout);
}
حالا با استفاده از کد زیر میتونم بهش دسترسی پیدا کنم و مشکل دسترسی ندارم:
@Override
public boolean onTouch(final View view, MotionEvent event) {
LinearLayout linearLayout = (LinearLayout) this.getChildAt(indexOfChild(view));
}
یا:
@Override
public boolean onTouch(final View view, MotionEvent event) {
LinearLayout linearLayout = (LinearLayout) view;
}
و یا خیلی از روش های دیگه میشه به لایه ای که ساختم دسترسی پیدا کنم.
حالا میخوام از این لایه با محتویات داخلش کپی بگیریم (ِDuplicate)
این کار رو هم که میکنم کرش میکنه:
public void test (View view){
LinearLayout linearLayout = (LinearLayout) view;
this.addView(linearLayout);
}
لطفا راهنمایی کنید
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .