首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在android输入法编辑器应用程序中添加简单的首选项屏幕

如何在android输入法编辑器应用程序中添加简单的首选项屏幕
EN

Stack Overflow用户
提问于 2017-06-13 08:17:14
回答 0查看 428关注 0票数 0

我一直在开发一个相当简单的键盘应用程序,我想给它添加一些设置。在过去的一周里,我已经阅读了几个教程和数不清的参考页,我希望这里有人能够/愿意发现我的错误。

我的应用程序构建没有错误(只有一个关于使用折旧函数的警告),但是preferences活动不会从语言和输入设置菜单启动。

这是我到目前为止所拥有的

AndroidManifest.xml上应用程序标记的内容

代码语言:javascript
复制
<service
    android:name=".SimpleIME"
    android:label="@string/app_name"
    android:permission="android.permission.BIND_INPUT_METHOD">
    <meta-data
        android:name="android.view.im"
        android:resource="@xml/method" />

    <intent-filter>
        <action android:name="android.view.InputMethod" />
    </intent-filter>
</service>

<activity
    android:name=".keyboardPrefsActivity"
    android:label="@string/title_activity_keyboard_prefs">
    <intent-filter>
        <action android:name="android.intent.action.MAIN"/>
    </intent-filter>
</activity>

method.xml

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<input-method xmlns:android="http://schemas.android.com/apk/res/android">
    <subtype
        android:label="@string/subtype_en_US"
        android:imeSubtypeLocale="en_US"
        android:imeSubtypeMode="keyboard"
        android:settingsActivity="com.dev.tompk.learnmorsekeyboard.keyboardPrefsActivity"/>
</input-method>

preferences.xml

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
    android:key="lmk_settings"
    android:title="Learn Morse Keyboard Settings">
    <EditTextPreference
        android:key="MorsePulseRate"
        android:title="@string/morse_pulse_rate_pref_title"
        android:summary="@string/morse_pulse_rate_pref_summary"
        android:numeric="integer"
        android:maxLength="3"
        android:defaultValue="100"
        />
</PreferenceScreen>

keyboardPrefsActivity.java

代码语言:javascript
复制
package com.dev.tompk.learnmorsekeyboard;
import android.os.Bundle;
import android.preference.EditTextPreference;
import android.preference.ListPreference;
import android.preference.Preference;
import android.preference.PreferenceActivity;

public class keyboardPrefsActivity extends PreferenceActivity {

    private EditTextPreference morsePulseRate;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        addPreferencesFromResource(R.xml.preferences);
        morsePulseRate = (EditTextPreference)findPreference("MorsePulseRate");
    }
}

在这一点上,我不需要任何花哨的头部或将其拆分成更小的片段(除非这是工作所必需的)。我目前的目标是有一个包含2个或3个设置的列表,每个设置都接受一个整数(如果需要的话,字符串可以这样做,因为它可以转换或替换为默认值)

我意识到我的代码对我尝试过的所有不同的东西有点混乱,但任何建议都会非常感谢。

提前谢谢。

EN

回答

页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44510530

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档