как добавить статический макет в другой статический макет во время выполнения

#android #runtime #add #android-linearlayout #at-command

#Android #время выполнения #Добавить #android-linearlayout #at-command

Вопрос:

я новый разработчик в Android. у меня проблема с макетами в Android.

я использовал три макета в main.xml следующим образом

main.xml

 <LinearLayout android:layout_width="fill_parent" 
android:layout_height="60dip" 
android:gravity="center" android:background="@drawable/tabmessage" android:id="@ id/linearLayout01">

    <TextView android:id="@ id/textView1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:textColor="#000000" android:text="layout1">
    </TextView>
</LinearLayout>

<LinearLayout android:layout_width="fill_parent" 
android:layout_height="200dip" android:background="#ff0000" android:id="@ id/linearLayout03">
 <LinearLayout android:layout_width="fill_parent" 
android:layout_height="60dip" 
android:gravity="center" android:background="@drawable/tabmessage" android:id="@ id/linearLayout02">

    <TextView android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:textColor="#000000" android:text="layout2" android:id="@ id/textView2">
    </TextView>
</LinearLayout>
</LinearLayout>
  

я выполнил класс следующим образом

MyClass.java

общедоступный класс MyShout расширяет действие { /**, вызываемое при первом создании действия. */

  @Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    LinearLayout layout1=((LinearLayout)findViewById(R.id.linearLayout01));
    LinearLayout layout2=((LinearLayout)findViewById(R.id.linearLayout02));
    LinearLayout layout3=((LinearLayout)findViewById(R.id.linearLayout03));

  }        
}
  

здесь я хотел бы добавить layout1 в layout3. как я могу добавить layout1 в layout3 во время выполнения? пожалуйста, помогите мне…..

Ответ №1:

Вы можете сделать

 layout3.addView(layout1); 
//or
ViewGroup.LayoutParams params = new //setup here positioning rules
layout3.addView(layout1, params);
  

Ответ №2:

Вы не можете так поступить.

Вы можете сделать как:

 <LinearLayout>
    <LinearLayout>
           <LinearLayout>
           </LinearLayout>
    </LinearLayout>
</LinearLayout>
  

Комментарии:

1. я знаю это, но я хочу сделать так. если вы знаете правильное решение, тогда дайте ответ

2. Пожалуйста, прекратите добавлять окончания к своим ответам, это просто добавляет ненужный шум