这是我的偏好课程:
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"
/>
我尝试了许多时间,现在能够做到请帮助我
答案 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要求您从其他活动中启动活动,以维护后台堆栈。