Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/188.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何修复TextInputLayout密码切换?_Java_Android_Android Textinputlayout_Android Support Design_Android Textinputedittext - Fatal编程技术网

Java 如何修复TextInputLayout密码切换?

Java 如何修复TextInputLayout密码切换?,java,android,android-textinputlayout,android-support-design,android-textinputedittext,Java,Android,Android Textinputlayout,Android Support Design,Android Textinputedittext,我创建了一个带有验证的简单登录页面,但当我想使用passwordToggleEnabled应用程序崩溃时,密码部分出现问题,我不知道为什么,因为我没有错误 我的项目是基于API 26的 我添加了内置渐变内部依赖项: implementation 'com.android.support:design:28.0.0' implementation 'com.android.support:appcompat-v7:28.0.0' 在XML文件中,这是我的密码输入代码: <c

我创建了一个带有验证的简单登录页面,但当我想使用passwordToggleEnabled应用程序崩溃时,密码部分出现问题,我不知道为什么,因为我没有错误

我的项目是基于API 26的

我添加了内置渐变内部依赖项:

    implementation 'com.android.support:design:28.0.0'
    implementation 'com.android.support:appcompat-v7:28.0.0'
在XML文件中,这是我的密码输入代码:

<com.google.android.material.textfield.TextInputLayout
            android:id="@+id/test2"
            android:layout_below="@id/usernameEditText"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:ems="10"
            app:errorEnabled="true"
            app:passwordToggleEnabled="true">

            <com.google.android.material.textfield.TextInputEditText
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:hint="Your Password"
                android:inputType="textPassword" />
        </com.google.android.material.textfield.TextInputLayout>
所以这就是我如何实现我的代码和应用程序不断停止那么我做错了什么

谢谢大家!

使用该方法获取用于文本输入的
EditText

TextInputLayout test2= findViewById(R.id.test2);
String passwordInput = test2.getEditText().getText().toString().trim();

您必须首先通过如下方式为视图分配ID来查找视图

  <com.google.android.material.textfield.TextInputEditText
                    android:id="@+id/etPassword"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:hint="Your Password"
                    android:inputType="textPassword" />
 TextInputEditText etPassword= findViewById(R.id.etPassword);
然后您可以获得输入的文本,如

String passwordInput = etPassword.getText().toString().trim();
String mPassword = etPassword.getText().toString().trim();

将ID分配给TextInputItemText

  <com.google.android.material.textfield.TextInputEditText
                    android:id="@+id/etPassword"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:hint="Your Password"
                    android:inputType="textPassword" />
然后您可以获得输入的文本,如

String passwordInput = etPassword.getText().toString().trim();
String mPassword = etPassword.getText().toString().trim();

“Somesh”的答案有什么不同?哈哈,几乎一样,我没有检查他的答案,跟任何人一起去!我在API 26上的项目意味着什么?同时发布你的crashSorry日志我是android studio新手我不知道我可以在logcat中看到我的错误。调试你的应用程序并使用屏幕底部的logcat面板谢谢!我的错误是我没有为EditText分配id,现在问题解决了,但得到了一个简单的问题是切换和错误消息看起来非常接近,我如何解决这个问题@加布里埃尔Mariotti@SmithBZ这是另一个问题。这与你的问题无关。您可能希望考虑使用一个单独的问题,使用一个屏幕和一个屏幕来帮助社区。也可以考虑将设计库迁移到。是的,你是对的。无论如何,谢谢你的帮助。非常感谢Gabriele Mariotti。