【发布时间】:2013-11-27 09:45:54
【问题描述】:
我的 android 应用中有设置屏幕,它是使用首选项标头设计的,如下所示。
<header
android:id="@+id/preference_header_account"
android:fragment="testPackage.TestPreferenceFragment"
android:key="pref_key_username"
android:summary="dynamic"
android:title="@string/username_title" />
现在在我的测试中,我可以看到这个标题,并且我正在点击那个视图来获得 TestPreferenceFragment 屏幕,如下所示。
ArrayList<Header> headers = new ArrayList<Header>();
ListAdapter listAdapter = getActivity().getListAdapter();
for (int i = 0; i < listAdapter.getCount(); i++) {
headers.add((Header) listAdapter.getItem(i));
}
for (int i = 0; i < listAdapter.getCount(); i++) {
if (headers.get(i).id == R.Id.userName) {
position = i;
}
}
View userName = getActivity().getListView().getChildAt(position);
TouchUtils.tapView(this, userName);
现在我想在打开的屏幕中测试首选项/视图,这是一个首选项片段。以下是我正在加载到 TestPreferenceFragment 中的 xml。
<testpackage.CustomPreference1
android:inputType="textCapWords"
android:key="pref_key_username"
android:maxLines="1"
android:persistent="false"
android:selectAllOnFocus="true"
android:singleLine="true"
android:title="@string/test_username" />
我能想到的测试首选项片段是,如果我在我的测试用例中获得首选项片段,我可以使用 findPreference(key) 从中获取首选项。但我无法得到它。
任何人都可以帮助我吗?在此先感谢:)
【问题讨论】:
标签: android preferences