我尝试使用textView显示密码,我使用了inputType" textPassword"它显示的是我想要的点缀密码文本。这个textView是在相对布局中我尝试从相对布局中获取clicklistener但是当我按下textView时它没有点击,当我删除inputType时它工作正常。这是我到现在为止所尝试的。 `
<RelativeLayout
android:id="@+id/relativeLayout_changePassword"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/colorWhite"
android:clickable="true"
android:descendantFocusability="blocksDescendants"
android:foreground="?selectableItemBackground"
android:padding="20dp">
<TextView
android:id="@+id/settings_password_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:text="@string/settings_change_password"
android:textColor="@color/text_color" />
<TextView
android:id="@+id/textView_settings_password"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_toRightOf="@+id/settings_password_title"
android:clickable="false"
android:enabled="false"
android:focusable="false"
android:focusableInTouchMode="false"
android:gravity="right"
android:inputType="textPassword"
android:text="123abc[enter image description here][1]"
android:textColor="@color/colorPrimary" />
</RelativeLayout>`
答案 0 :(得分:1)
您是否尝试过使用java代码而不是xml设置输入类型?这有什么区别吗?
答案 1 :(得分:0)
您已使用
android:clickable="false"
android:enabled="false"
android:focusable="false"
适用于您的TextView
,因此只有当您点击此TextView
外部时,它才会收到任何点击事件,您的布局会收到输入点击次数
同样inputType"textPassword"
对View
的点击事件没有影响。
答案 2 :(得分:0)
您可以以编程方式设置输入类型而不是xml文件
<TextView
android:id="@+id/textView_settings_password"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_toRightOf="@+id/settings_password_title"
android:clickable="false"
android:enabled="false"
android:focusable="false"
android:focusableInTouchMode="false"
android:gravity="right"
android:text="123abc[enter image description here][1]"
android:textColor="@color/colorPrimary" />
然后在活动中设置输入类型
TextViewPassword.setInputType( InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD );
tv.setTransformationMethod(PasswordTransformationMethod.getInstance());