【发布时间】:2012-12-27 16:55:18
【问题描述】:
我正在开发我的第一个 Android 应用程序。 我使用向导创建了一个 SettingsActivity,到目前为止效果很好。 现在我想以编程方式更改输入字段:我正在生成一个字符串,我想在输入字段中默认预设。
这是我的输入字段,它在自动生成的 pref_general.xml 中的条目:
<EditTextPreference
android:capitalize="words"
android:defaultValue="@string/pref_default_display_name"
android:inputType="textCapWords"
android:key="example_text"
android:maxLines="1"
android:selectAllOnFocus="true"
android:singleLine="true"
android:title="@string/pref_title_display_name" />
我的问题是:如何在我的代码中访问此输入字段? 通常我使用
请求 UI 元素findViewById(R.*.*);
我假设在这里我可以使用
findViewById(R.string.pref_default_display_name);
但这只会给我null!
【问题讨论】:
-
你是否创建了一个名为
pref_title_display_name的字符串资源? -
R.java 中有这个: public static final class string { //... public static final int pref_title_display_name=0x7f050007; }
-
这个常量对应我传递给findViewById的参数,但是这个方法还是给我null
-
我的意思是,你在
strings.xml中放了一个吗? -
不,该条目存在于strings_activity_set.xml中,但不存在于strings.xml中。当我在strings.xml中添加它时,编译器指出它已经被定义了
标签: android android-widget android-activity