Bunu s ile oldukça kolay yapabilirsiniz. görünüm eklemek istediğiniz yerleşimde bir kimlik belirtmek. senin main.xml şuna benzer ki:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView android:id="@+id/label"
android:layout_width="fill_parent"/>
<LinearLayout android:id="@+id/container"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
</LinearLayout>
</LinearLayout>
Şu kimliğe id/container
ile LinearLayout
için ek görünümler eklemek istediğiniz varsayalım. senin onCreate
yöntemde daha sonra kullanmak üzere bu nesneyi geri alabilirsem:
tüm konteyner
ViewGroup
için diğer görünümleri eklemek için ayarlanır Şimdi
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mContainer = (ViewGroup)view.findViewById(R.id.container);
}
: Eğer oluşturmanız gerekir getButtons
yöntemde
LinearLayout theButtons = getButtons()
mContainer.addView(theButtons);
İhtiyacınız olan düğmeleri içeren LinearLayout
. Ya bu program aracılığıyla veya bir XML dosyasında tanımlanmış bir görünümü şişirerek yaparsınız. Bakınız LayoutInflater.inflate
.
Evet, ancak düğme xml'de tanımlanmamış. Aşağıdakileri yapmak istiyorum: Button b = new Button (this); LinearLayout mainLayout = (LinearLayout) findViewById (R.layout.main); mainLayout.addView (b), bunu deniyorum ama bir hata alıyorum. Bunu yapmanın yolu bu mu? – user501223
Hata nedir? AddView (b, new LayoutParams (LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT)) sürümünü denediniz mi? – gngr44
, logcat hatasını gösterebilir mi? – praveenb