Saya mencoba menambahkan tampilan dalam tata letak linier secara terprogram yang merupakan bagian dari tampilan yang digelembungkan tetapi setelah menambahkan tampilan dalam tata letak linier itu tidak ditampilkan

Kode Aktivitas Utama: -

       final LayoutInflater inflater = this.getLayoutInflater();
            View view = inflater.inflate(R.layout.suscription_alert,null);
            LinearLayout ll = view.findViewById(R.id.LinearLayout);

       for(int i =0;i<4;i++) {
                TextView t = new TextView(MainActivity.this);
                t.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT));
                t.setText("Hello");
                ll.addView(t);
            }
            view.invalidate();

        AlertDialog alert = new AlertDialog.Builder(MainActivity.this)
                .setView(view)
                .create();
        Objects.requireNonNull(alert.getWindow()).setBackgroundDrawableResource(android.R.color.transparent);

        alert.show();

Tata letak Peringatan Berlangganan: -

    <?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    
    <TextView
        android:id="@+id/textView3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:text="SUBSCRIPTIONS"
        android:textColor="#F5D90A"
        android:textSize="23sp"
        android:textStyle="bold"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintStart_toStartOf="parent" />

    <LinearLayout
        android:id="@+id/LinearLayout"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:paddingTop="10dp"
        android:orientation="vertical"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/textView3" />

</androidx.constraintlayout.widget.ConstraintLayout>

Keluaran:

enter image description here

Tampilan yang ditambahkan secara terprogram tidak ditampilkan di sini, Bagaimana cara mengatasi masalah ini dan mengapa itu terjadi ada yang tahu?

0
PRANAV SINGH 12 Mei 2021, 17:28

1 menjawab

Jawaban Terbaik

LinearLayout Anda harus memiliki tinggi lebih besar dari 0 untuk menambahkan tampilan saat run-time jika tidak, tinggi tidak akan dapat dihitung.

Misalnya buat wrap_content

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <TextView
        android:id="@+id/textView3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:text="SUBSCRIPTIONS"
        android:textColor="#F5D90A"
        android:textSize="23sp"
        android:textStyle="bold"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintStart_toStartOf="parent" />

    <LinearLayout
        android:id="@+id/LinearLayout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:paddingTop="10dp"
        android:orientation="vertical"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/textView3" />

</androidx.constraintlayout.widget.ConstraintLayout>
1
Mayur Gajra 12 Mei 2021, 14:55