我只是想知道如何显示或隐藏用于添加用户名和密码的编辑文本首选项。
我可以在这里使用这样的功能吗?启用或禁用xml中的编辑文本首选项按钮以及
ImageButton就绪=(ImageButton(findViewById(R.id.ready(;
ready.setVisibility(View.INVISIBLE(;
<EditTextPreference android:key="password" android:title="@string/pref_title_password" android:defaultValue="@string/pref_default_password" android:selectAllOnFocus="true" android:inputType="textPassword" android:capitalize="words" android:singleLine="true" android:maxLines="1" />
EditTextPreference
不是从android.view.View
派生的,因此setVisibilty
将不起作用。相反,请执行以下操作:-
setVisibility
。或者通过获取父视图并从中调用方法来进一步操作。编译我们的解释,收益应该如下:-
获取偏好:-
EditTextPreference pswd=(EditTextPreference)findPreference("password");
然后:-
pswd.getEditText().setVisibility(View.INVISIBLE);
或一般情况下:-
ViewParent parent=pswd.getEditText().getParent();
if(parent instanceof View)
((View)parent).setVisibility(View.INVISIBLE);
else pswd.getEditText().setVisibility(View.INVISIBLE);
编辑:
方法findPreference
位于android.preference.PreferenceActivity
或android.preference.PreferenceFragment
中。这意味着你需要从一个片段或从其中任何一个派生的活动中调用它——你的活动应该扩展其中的任何一个。
我还没有测试过上面的片段,但可以随意编辑更正或评论。