gpt4 book ai didi

android - 以编程方式添加 View 时不显示 TextInputLayout

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:31:08 25 4
gpt4 key购买 nike

我注意到 TextInputLayout 的一些奇怪行为:

当我将以下内容添加到我的布局时:

    <android.support.design.widget.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">

<EditText
android:id="@+id/txtFirstName"
style="@style/EditTextStyle"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:hint="In layout"
android:singleLine="true" />
</android.support.design.widget.TextInputLayout>

一切正常。

当我膨胀类似的布局时:

    View v = LayoutInflater.from(this).inflate(R.layout.edittext_w_surrounding_textinputlayout, null);
EditText editText = (EditText) v.findViewById(R.id.editText);
editText.setHint("Added programmatically");

ViewGroup root = (ViewGroup) findViewById(R.id.root);
root.addView(v);

TextInputLayout 没有出现,EditText 以标准方式运行。

任何想法可能是什么原因?

enter image description here

最佳答案

您应该更改提示,不是在 EditText 上,而是在 TextInputLayout 上。所以它将是:

TextInputLayout v = (TextInputLayout) LayoutInflater.from(this).inflate(R.layout.edittext_w_surrounding_textinputlayout, null);
v.setHint("Added programmatically");

TextInputLayout 有它自己的提示参数,当从布局中膨胀时,它从它的子 EditText 获取提示并在其上设置空提示。

当您想以编程方式更改提示时,您必须调用 textInputLayout.setHint(String text) 而不是更改 EditText 提示

关于android - 以编程方式添加 View 时不显示 TextInputLayout,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31294230/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com