更新版本 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");
}
}
在setting3.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>
它工作的屏幕截图
原版
老实说,我从来没有能够让 HoloEverywhere.findPreference(R.id.examiner_preference) 中的 ID 工作。我总是被迫使用钥匙。
(全息中的键:键值)
所以试试这个
EditTextPreference emailPrefs = (EditTextPreference)findPreference("acra.user.email");
我还没有找到具体的原因,但我在使用 holo:keys 时没有遇到性能或错误方面的问题。可能是你的妥协。