本文介绍了以编程方式添加 TextInputLayout的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如何以编程方式添加 TextInputLayout ?
How do i go about adding a TextInputLayout programmatically ?
我尝试过,
private EditText _editText; private TextInputLayout _textInputLayout; // Create the EditText if (_editText == null) { _editText = new EditText(this.getContext()); _editText.setInputType( _isPassword ? InputType.TYPE_TEXT_VARIATION_PASSWORD : InputType.TYPE_TEXT_FLAG_AUTO_CORRECT ); _editText.setLayoutParams( new LayoutParams(0, LayoutParams.MATCH_PARENT) ); if (_hint != null) { _editText.setHint(String.format("%s%s", HINT_PREFIX, _hint.toLowerCase())); } _textInputLayout = new TextInputLayout(this.getContext()); _textInputLayout.setLayoutParams( new LayoutParams(0, LayoutParams.WRAP_CONTENT, EDIT_TEXT_WEIGHT) ); _textInputLayout.addView(_editText); this.addView(_textInputLayout); }但是,当我编译并运行时,出现以下错误.我在这里做错了什么?
However, when i compile and run i get the following error. What am i doing wrong here ?
10-03 21:22:16.154 2488-2488/? E/AndroidRuntime: Caused by: java.lang.ArrayIndexOutOfBoundsException: length=54; index=108 10-03 21:22:16.154 2488-2488/? E/AndroidRuntime: at android.content.res.TypedArray.getValueAt(TypedArray.java:1132) 10-03 21:22:16.154 2488-2488/? E/AndroidRuntime: at android.content.res.TypedArray.getColor(TypedArray.java:446) 10-03 21:22:16.154 2488-2488/? E/AndroidRuntime: at android.support.design.widget.CollapsingTextHelper.setCollapsedTextAppearance(CollapsingTextHelper.java:191) 10-03 21:22:16.154 2488-2488/? E/AndroidRuntime: at android.support.design.widget.TextInputLayout.setHintTextAppearance(TextInputLayout.java:270) 10-03 21:22:16.154 2488-2488/? E/AndroidRuntime: at android.support.design.widget.TextInputLayout.<init>(TextInputLayout.java:111) 10-03 21:22:16.154 2488-2488/? E/AndroidRuntime: at android.support.design.widget.TextInputLayout.<init>(TextInputLayout.java:82) 10-03 21:22:16.154 2488-2488/? E/AndroidRuntime: at android.support.design.widget.TextInputLayout.<init>(TextInputLayout.java:78) 10-03 21:22:16.154 2488-2488/? E/AndroidRuntime: at com.syncopatesystems.splogle.iconfloatedittext.IconFloatEditText.initialize(IconFloatEditText.java:145) 10-03 21:22:16.154 2488-2488/? E/AndroidRuntime: at com.nixgadgets.iconfloatedittext.IconFloatEditText.<init>(IconFloatEditText.java:75) 10-03 21:22:16.154 2488-2488/? E/AndroidRuntime: at com.nixgadgets.iconfloatedittext.IconFloatEditText.<init>(IconFloatEditText.java:62) 10-03 21:22:16.154 2488-2488/? E/AndroidRuntime: at java.lang.reflect.Constructor.newInstance(Native Method) 10-03 21:22:16.154 2488-2488/? E/AndroidRuntime: at android.view.LayoutInflater.createView(LayoutInflater.java:619) 10-03 21:22:16.154 2488-2488/? E/AndroidRuntime: at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:764) 10-03 21:22:16.154 2488-2488/? E/AndroidRuntime: at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704) 10-03 21:22:16.154 2488-2488/? E/AndroidRuntime: at android.view.LayoutInflater.rInflate(LayoutInflater.java:835) 10-03 21:22:16.154 2488-2488/? E/AndroidRuntime: at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798) 10-03 21:22:16.154 2488-2488/? E/AndroidRuntime: at android.view.LayoutInflater.rInflate(LayoutInflater.java:838) 10-03 21:22:16.154 2488-2488/? E/AndroidRuntime: at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798) 10-03 21:22:16.154 2488-2488/? E/AndroidRuntime: at android.view.LayoutInflater.rInflate(LayoutInflater.java:838) 10-03 21:22:16.154 2488-2488/? E/AndroidRuntime: at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798) 10-03 21:22:16.154 2488-2488/? E/AndroidRuntime: at android.view.LayoutInflater.inflate(LayoutInflater.java:515) 10-03 21:22:16.154 2488-2488/? E/AndroidRuntime: at android.view.LayoutInflater.inflate(LayoutInflater.java:423) 10-03 21:22:16.154 2488-2488/? E/AndroidRuntime: at android.view.LayoutInflater.inflate(LayoutInflater.java:374) 10-03 21:22:16.154 2488-2488/? E/AndroidRuntime: at com.android.internal.policy.PhoneWindow.setContentView(PhoneWindow.java:393) 10-03 21:22:16.154 2488-2488/? E/AndroidRuntime: at android.app.Activity.setContentView(Activity.java:2166) 10-03 21:22:16.154 2488-2488/? E/AndroidRuntime: at com.syncopatesystems.splogle.activities.SignUpWithEmailActivity.onCreate(SignUpWithEmailActivity.java:43) 10-03 21:22:16.154 2488-2488/? E/AndroidRuntime: at android.app.Activity.performCreate(Activity.java:6237) 10-03 21:22:16.154 2488-2488/? E/AndroidRuntime: at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107) 10-03 21:22:16.154 2488-2488/? E/AndroidRuntime: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369) 10-03 21:22:16.154 2488-2488/? E/AndroidRuntime: at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476) 10-03 21:22:16.154 2488-2488/? E/AndroidRuntime: at android.app.ActivityThread.-wrap11(ActivityThread.java) 10-03 21:22:16.154 2488-2488/? E/AndroidRuntime: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344) 10-03 21:22:16.154 2488-2488/? E/AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:102) 10-03 21:22:16.154 2488-2488/? E/AndroidRuntime: at android.os.Looper.loop(Looper.java:148) 10-03 21:22:16.154 2488-2488/? E/AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:5417) 10-03 21:22:16.154 2488-2488/? E/AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method) 10-03 21:22:16.154 2488-2488/? E/AndroidRuntime: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) 10-03 21:22:16.154 2488-2488/? E/AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 推荐答案最终使用了 MaterialEditText 库.这比我遇到的大多数其他库具有更多的功能.
Ended up using MaterialEditText libraries. This has way more features than most of the other libraries I have come across.
更多推荐
以编程方式添加 TextInputLayout
发布评论