如何修复 TextInputLayout 密码切换?
How to fix TextInputLayout passwordToggle?
我创建了一个带有验证的简单登录页面,但是当我想使用 passwordToggleEnabled 时,密码部分出现问题应用程序崩溃并且无法打开不知道为什么我有 0 个错误。
我的项目在 API 26.
我在构建 gradle 中添加了 dependicies:
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>
在MainActivity.java中,这就是我调用密码的方式:
String passwordInput = test2.getText().toString().trim();
这就是我如何实现我的代码,应用程序一直停止,所以我做错了什么?
谢谢!
使用方法getEditText
获取用于文本输入的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" />
然后在你的 activity 中找到它
TextInputEditText etPassword= findViewById(R.id.etPassword);
然后你可以得到输入的文本,如
String passwordInput = etPassword.getText().toString().trim();
正在为 TextInputEditText 分配 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" />
然后像这样在您的 activity 中找到它
EditText etPassword= findViewById(R.id.etPassword);
然后你可以得到输入的文本,如
String mPassword = etPassword.getText().toString().trim();
我创建了一个带有验证的简单登录页面,但是当我想使用 passwordToggleEnabled 时,密码部分出现问题应用程序崩溃并且无法打开不知道为什么我有 0 个错误。
我的项目在 API 26.
我在构建 gradle 中添加了 dependicies:
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>
在MainActivity.java中,这就是我调用密码的方式:
String passwordInput = test2.getText().toString().trim();
这就是我如何实现我的代码,应用程序一直停止,所以我做错了什么?
谢谢!
使用方法getEditText
获取用于文本输入的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" />
然后在你的 activity 中找到它
TextInputEditText etPassword= findViewById(R.id.etPassword);
然后你可以得到输入的文本,如
String passwordInput = etPassword.getText().toString().trim();
正在为 TextInputEditText 分配 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" />
然后像这样在您的 activity 中找到它
EditText etPassword= findViewById(R.id.etPassword);
然后你可以得到输入的文本,如
String mPassword = etPassword.getText().toString().trim();