hen*_*rix 10 android view preference preferenceactivity
我想获取用于在我的PreferenceActivity中显示特定首选项的View实例,因此我可以修改其属性,例如:
public class SettingsActivity extends PreferenceActivity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.preference);
Preference pref = findPreference("key");
pref.getView().setVisibility(View.GONE);
//not necessarily setVisibility, i hope you get my point
}
}
Run Code Online (Sandbox Code Playgroud)
我只找到了这个方法: getView(View convertView,ViewGroup parent).但是对我来说似乎很困惑,如果我想获得我的偏好视图,我需要提供视图和viewGroup作为参数?
有人可以解释如何使用此方法,或指向另一种方法从我的Preference实例获取View.
PS:如果可能的话,我宁愿不扩展Preference类,但如果有必要,我不介意
要获取所需首选项的视图,您可以使用以下命令:
\n\n@Override\npublic void onWindowFocusChanged(boolean hasFocus)\n{\n super.onWindowFocusChanged(hasFocus);\n Preference preference=findPreference(\xe2\x80\x9cpreferenceKey\xe2\x80\x9d);\n View preferenceView=getListView().getChildAt(preference.getOrder());\n //Do your stuff\n}\nRun Code Online (Sandbox Code Playgroud)\n\n注意:您不能在onCreate方法中执行此操作,因为它会抛出NullPointerException.
我不确定如何获取首选项的视图,但如果您想从屏幕上删除视图(将可见性设置为 View.gone),您可以使用以下命令:
getPreferenceScreen().removePreference(thePreference)
| 归档时间: |
|
| 查看次数: |
10327 次 |
| 最近记录: |