0

ボタンのクリックなどで PreferenceActivity から新しいアクティビティを起動する必要があります。出来ますか?作り方は?

4

3 に答える 3

6

あなたはそれを行う標準的な方法Activityからあなたのようなものから別のものを始めることができます. PreferenceActivity例えば:

Intent testIntent = new Intent(getApplicationContext(), Activity2.class);
startActivity(testIntent);

まず、XML で設定を定義します。

<Preference
    android:key="test_pref"
    android:summary="@string/someDescription"
    android:title="Some Random Title" >
</Preference>

あなたのPreferenceActivity

Preference pref = findPreference("test_pref");
shareSociallyYou.setOnPreferenceClickListener(new OnPreferenceClickListener() {

    @Override
    public boolean onPreferenceClick(Preference preference) {

        Intent testIntent = new Intent(getApplicationContext(), Activity2.class);
        startActivity(testIntent);

        return true;
    }
});
于 2012-12-02T12:25:27.007 に答える
3

これはうまくいくはずです

Preference preference = findPreference("Your Preference Key");
    preference.setOnPreferenceClickListener(new OnPreferenceClickListener() {
        @Override
        public boolean onPreferenceClick(Preference preference) {
            Intent intent = new Intent(getApplicationContext(), YourActivity.class);
            startActivity(intent);
            return true;
        }
    });

これは、oncreate などにある必要があります。

于 2012-12-02T12:14:03.133 に答える
1

XMLでもインテントをプリファレンスアクションとして設定できます。好みのXMLに追加するだけです。

<PreferenceScreen android:key="KEY" android:title="DOYOURWORK">
    <intent android:targetClass="com.yourcompany.app.youractivity"
        android: targetPackage="com.yourcompany.app">
        <extra android:name="EXTRA_KEY" android:value="yourValue" />
    </intent>
</PreferenceScreen>

そして今、私が共有したかったトリッキーな部分:ノードのxml属性android:targetPackageは、JAVA<intent>パッケージではなく、アプリケーションパッケージを参照しています! アプリ内で作業し、外部インテントを呼び出さない限り、アクティビティクラスがアプリケーションプロジェクト内のどのJAVAパッケージにあるかに関係なく、アプリケーションパッケージを指定するだけで済みます。

これがお役に立てば幸いです。このようなドキュメントは見つかりませんでした。ウェブにユーザーが投稿しただけです。

于 2012-12-20T15:32:22.513 に答える