TextView hieght = wrap_content 不工作

TextView hieght = wrap_content is not working

我有一个 LinearLayout,其中包含一个 TextView :

            <LinearLayout
                android:id="@+id/addTaskDescriptionLLId"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginStart="16dp"
                android:layout_marginEnd="16dp">
                <TextView
                    android:id="@+id/descriptionTextViewId"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:maxHeight="150dp"
                    android:hint="@string/abcd"
                    android:textColor="#A2A2A2"
                    android:ellipsize="end"
                    android:layout_margin="10dp"/>
            </LinearLayout>

我还在 java 文件中添加了一个条件,条件是如果 TextView 在打开 activity 期间有一些文本,那么它将是可见的,否则我使用 descriptionTextView.setVisibility(View.GONE);

然后我通过打开一个对话框在 textView 中添加一些文本,然后 onConfirm(单击对话框的肯定按钮)我做了以下操作:

    @Override
    public void onConfirm(String description) {
        this.description = description;    //the string that I write in dialog
        descriptionLL.removeAllViews();    //parent LineanLayout of TextView
        descriptionLL.addView(descriptionTextView);
        descriptionTextView.setText(description);
        descriptionTextView.setVisibility(View.VISIBLE);
    }

但是 TextView 的高度并没有像我在 xml 文件中提到的那样保持 wrap_content。 我也试过了:

descriptionTextView.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT));

那也不起作用..有什么解决办法吗?

我认为您在 xml 中指定的提示导致了问题。删除它,它可能会解决。