将fragmenttext输入设置为片段中的密码。 (编程)

时间:2014-02-20 08:32:59

标签: android android-layout android-fragments

我将EditText设置为密码输入类型时出现问题。

我尝试了stackoverflow中的所有内容,但是当EditText位于Fragment中时没有任何作用。

passBox.setInputType(InputType.TYPE_CLASS_TEXT|InputType.TYPE_TEXT_VARIATION_PASSWORD);
passBox.setTransformationMethod(PasswordTransformationMethod.getInstance());

以任意组合一起尝试这两种方式。

public void setViews(Context activity)
{
    ...
    passBox = new EditText(activity);

    passBox.setInputType(InputType.TYPE_CLASS_TEXT|InputType.TYPE_TEXT_VARIATION_PASSWORD);
    passBox.setTransformationMethod(PasswordTransformationMethod.getInstance());
}

活动:

cFragment confFrag = new cFragment();
confFrag.setViews(this);
...
confFrag.passBox.setText(settings.getString(PASS, DEFAULT_PASS));

解答:

passBox.setTransformationMethod(PasswordTransformationMethod.getInstance());

EditText添加到其他视图后必须调用。

passBox.setInputType(InputType.TYPE_TEXT_VARIATION_PASSWORD);

删除提示,因此它也很有用。转型之前的任何地方。

2 个答案:

答案 0 :(得分:1)

尝试在片段完成setViews方法后调用onCreateView,对于EditText,只需使用text.setTransformationMethod(PasswordTransformationMethod.getInstance());即可。

答案 1 :(得分:0)

试试这个

passBox.setInputType(InputType.TYPE_TEXT_VARIATION_PASSWORD);