Android 如何在holoeverywhere中查找dReference()?

Android 如何在holoeverywhere中查找dReference()?,android,android-preferences,android-holo-everywhere,Android,Android Preferences,Android Holo Everywhere,FindReference(R.id.myprefid)在我的holoeverywhere首选项活动中始终返回null。我找不到FindReference的示例。以下是我的首选xml: 我按计划做了一切,但还是没有成功 请建议解决方案或参考使用holoeverywhere的FindReference()的示例应用程序。(我在演示应用程序中找不到)更新版本2: package ca.imaginauts.smartmed.fragments; import org.holoeverywh

FindReference(R.id.myprefid)在我的holoeverywhere首选项活动中始终返回null。我找不到FindReference的示例。以下是我的首选xml:


我按计划做了一切,但还是没有成功

请建议解决方案或参考使用holoeverywhere的FindReference()的示例应用程序。(我在演示应用程序中找不到)更新版本2:

package ca.imaginauts.smartmed.fragments;

import org.holoeverywhere.preference.EditTextPreference;
import org.holoeverywhere.preference.PreferenceFragment;
import android.os.Bundle;
import ca.imaginauts.smartmed.R;

public class SettingFragment extends PreferenceFragment
{
    @Override
    public void onCreate(Bundle savedInstanceState) 
    {
        super.onCreate(savedInstanceState);

        // Load the preferences from an XML resource
        addPreferencesFromResource(R.xml.setting3);

        EditTextPreference email =  (EditTextPreference)findPreference("acra.user.email");
        email.setText("Hello World");
    }
}
内部设置3.xml

<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:holo="http://schemas.android.com/apk/res-auto"
    xmlns:android="http://schemas.android.com/apk/res/android" > 

<EditTextPreference
    holo:id="@+id/examiner_preference"
    android:inputType="textCapWords|textPersonName"
    holo:dialogTitle="examiner_dialogTitle"
    holo:key="examiner_preference"
    holo:summary="examiner_summary"
    holo:title="examiner_name" />
<EditTextPreference
    holo:id="@+id/email"
    android:inputType="textEmailAddress"
    holo:dialogTitle="prefs__title"
    holo:key="acra.user.email"
    holo:summary="pref_a_summary"
    holo:title="pref_aemail" />

</PreferenceScreen>

我还没有找到具体的原因,但我在使用holo:keys时没有遇到性能或bug方面的问题。对你来说可能是一种妥协

如上所述,它仍然返回null。我在onCreate()中使用findReference()。是这样吗?你能发布你的首选活动代码吗?你提到你使用FindReference(R.id.myprefid),我是说使用FindReference(“holo key string”)。我将用一些示例代码更新我的问题。我用示例代码更新我的答案,您是否仍遇到问题?如果是这样的话,您使用的是什么设备和Android版本?我使用PreferenceActivity而不是PreferenceFragment。我使用标题来构建prefs。这可能是问题所在。我在emulator中的Android 4.2.1和我的galaxy s2中的4.1上运行。感谢您花时间:-)如果尚未发布,您可以发布您的PreferenceActivity代码和headers.xml吗。
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:holo="http://schemas.android.com/apk/res-auto"
    xmlns:android="http://schemas.android.com/apk/res/android" > 

<EditTextPreference
    holo:id="@+id/examiner_preference"
    android:inputType="textCapWords|textPersonName"
    holo:dialogTitle="examiner_dialogTitle"
    holo:key="examiner_preference"
    holo:summary="examiner_summary"
    holo:title="examiner_name" />
<EditTextPreference
    holo:id="@+id/email"
    android:inputType="textEmailAddress"
    holo:dialogTitle="prefs__title"
    holo:key="acra.user.email"
    holo:summary="pref_a_summary"
    holo:title="pref_aemail" />

</PreferenceScreen>
   EditTextPreference emailPrefs = (EditTextPreference)findPreference("acra.user.email");