如何动态更改android:提示?

时间:2014-07-28 05:41:06

标签: java android

我想根据每个型号更改android:提示。 (Android设备可能有不同的SD卡路径。我想设置此值。)

如何获取元素或更改属性?

Preferences.java

public class Preferences extends PreferenceActivity {
    private void setDeviceSDCardPath () {
        String defaultPath = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS).getAbsolutePath();
        pref = getElementById(R.preferences.pref_id);   // <--- invalid, but I want to do like this
        pref.hint = "ex.) " + defaultPath; // <-- also invalid
    }
}

的preferences.xml

<PreferenceCategory android:title="@string/title">
     <EditTextPreference
            android:id="@+id/pref_id"
            android:key="pref_key"
            android:title="@string/pref_title"
            android:summary="@string/pref_summary"
            android:hint="/storage/sdcard"
            android:defaultValue="/storage/sdcard/Download/"/>
</PreferenceCategory>

4 个答案:

答案 0 :(得分:1)

your_editText.setHint("Your New hint");

选中此doc

答案 1 :(得分:1)

myTextView.setHint("My conditional hint");

答案 2 :(得分:0)

请参阅EditTextPreference的javadoc: http://developer.android.com/reference/android/preference/EditTextPreference.html

  

它是DialogPreference的子类,并在a中显示EditText   对话。可以通过编程方式修改此EditText   getEditText(),或通过设置任何EditText属性通过XML   EditTextPreference。

当你在EditTextPreference对象上使用getEditText()获得EditText对象时,你可以简单地使用setHint(String message)方法。我相信这应该有效:

EditTextPreference editPref = (EditTextPreference) findPreference(R.id.pref_id);
editPref.getEditText().setHint(message);

答案 3 :(得分:0)

yout_editText。 setSummary (&#34; 对您的偏好编辑文字的一些描述&#34;); 在xml:android:defaultValue或android:summary