如何从Android中的Preference屏幕转到另一个活动

时间:2012-12-12 06:19:53

标签: android

这是我的偏好课程:

customPref
                .setOnPreferenceClickListener(new OnPreferenceClickListener() {

                    public boolean onPreferenceClick(Preference preference) {

                        Toast.makeText(getBaseContext(),
                                "The custom preference has been clicked",
                                Toast.LENGTH_LONG).show();
                        SharedPreferences customSharedPreference = getSharedPreferences(
                                "myCustomSharedPrefs", Activity.MODE_PRIVATE);
                        SharedPreferences.Editor editor = customSharedPreference
                                .edit();
                        editor.putString("myCustomPref",
                                "The preference has been clicked");
                        editor.commit();
                        return true;
                    }

                });

这可以在Toast上显示数据。

但是当我应用这段代码时

customPref
            .setOnPreferenceClickListener(new OnPreferenceClickListener() {

                public boolean onPreferenceClick(Preference preference) {

                    Intent int1 = new Intent(getBaseContext(),
                            termandcondition.class);
                    getBaseContext().startActivity(int1);


                    return true;
                }

            });

在prefernces然后它变成Error并且现在显示数据请帮我如何申请去另一个活动

这是prefnces.xml文件

<Preference
        android:key="customPref"
        android:summary="END-USER LICENCE AGREEMENT FOR USING WWW.TAXMANN.COM"
        android:title="Term and Condition"



         />

我尝试了许多时间,现在能够做到请帮助我

1 个答案:

答案 0 :(得分:0)

问题是您使用的是getBaseContext().startActivity()而不是startActivity()。因此,您尝试从活动上下文之外启动新活动。就像错误说的那样:Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want? 所以这可能不是你想要的。 Android要求您从其他活动中启动活动,以维护后台堆栈。