getSharedPreferences只能继承Activity才能使用

getSharedPreferences是依赖于上下文环境的,也就是context,所以不管你在哪个类中,一定要通过activity类的context才能调用。

可以这样,比如activity中实例化的你类,在new这个自定义类的时候,将activity的this当做参数传入,类型是context,然后在自定义类中记录下来,context.getSharedPreferences()就可以在你的类中这样调用了。

PS:在activity的setContextView之后再实例化自己的类,这样activity.this才不是空。

时间: 2025-01-11 18:39:12

getSharedPreferences只能继承Activity才能使用的相关文章

android开发中关于继承activity类中方法的调用

android开发中关于继承activity类中的函数,不能在其他类中调用其方法. MainActivity.java package com.example.testmain; import android.app.Activity; import android.os.Bundle; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState)

继承Activity和View

1,当你自定一个继承自view的视图A之后, 如果你在一个继承自Activity的组件B中需要使用A里面的一些方法,如果在B中需要使用A中的一些方法好像不可以直接使用. 需要在B中使用setContentView(A) 把A作为B的布局才能使用,而使用另外一中方式setContentView(R.layout.A); 也不行,不懂............... 继承Activity和View

在一个继承Activity的类中,不能同时让onCreate和构造函数同时出现吗?

在一个继续Activity的类中,不能同时让onCreate和构造函数同时出现吗?? 参考:http://bbs.csdn.net/topics/390321638 如果不能,原因为何? 如果能,为什么会出现错误? 先看一下java 的例子. //A.java public class A { public A() { System.out.println("===a 构造====="); } } /B.java public class B { static A a = new A(

在继承activity类之外的类中使用getResource()时候出现的问题解决

有几次写代码的时候都碰到了这个getResource()的使用,当时把它写在了一个普通类当中,用来加载assets当中的图片,但是代码报错.后来发现是由于这个方法是需要context的,但是最初急忙着写而没有仔细的理解,结果折腾半天也不知道怎么修改传递这个context过来,最后为了逃避这个问题,就把它放到了继承activity的类里面去了. 现在又遇到了这个问题,这下必须解决他了. 其实只要在方法调用连传context参数 或者在构造函数里面搞定 就行了: 大致代码如下: /** * 从ass

[Android]新建项目继承Activity不继承ActionBarActivity

在SDK更新后,在eclipse新建Android项目时,我们经常会碰到这样一种事情:新建的MainActivity不再继承Activity而是继承ActionBarActivity,由于一些人的开发习惯,便不喜欢使用ActionBarActivity而是习惯用Activity. 现在先说说为什么突然会继承ActionBarActivity.因为在Activity中的ActionBar是仅兼容3.0以上版本的,若想在之前版本使用,便要导入开源项目--ActionBarSherlock.而Acti

Android开发学习—— 创建项目时,不是继承activity,而是继承ActionBarActivity

对于我们新建android项目时, 会 继承ActionBarActivity. 我们在新建项目时, 最小需求的sdk 选择 4.0以上版本.这样 新建的android项目就是继承activity了!

继承Activity与AppcompatActivity的区别

AppcompatActivity相对于Activity的主要的两点变化如下: 1:主界面带有toolbar的标题栏: 2,theme主题只能用android:theme=”@style/AppTheme (appTheme主题或者其子类),而不能用android:style. 否则会提示错误: Caused by: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) w

小技巧:如何突破某些网站只能登陆后才能进行文字拷贝的限制

我写公众号文章时,经常需要从一些网站的文章上查阅一些资料.比如我想把这个网页上的一个标题"SAP Fiori 2.0用户体验设计概念获红点大奖"进行拷贝. 然而当我按了键盘上的拷贝快捷键Ctrl C后,却收到这个提示,告诉我只有登陆后才能够进行复制操作. 可是为了登陆我得先注册,有点麻烦.如果赶时间的话,可以使用这篇文章的小技巧,达到不用先注册再登陆,也能任意拷贝网页文字的效果. 下面是详细步骤. 1. 和往常一样打开您想复制文字的网页,先不忙按Ctrl C.按F12打开Chrome浏

Android系列教程之Android项目的目录结构

一: Android 项目的目录结构 Android 项目结构概览.其实 Android 项目的目录结构和 Java 的差不多,没有太大变化,如下图:  可以看到 src 文件夹里的是源文件, Android2.2 是引用的类库,这些和 java 的都一样,那么下面的这个 gen 是什么呢?这个里面的类就是 ADT 自动生成的啦,一般只有一个 R.java 文件,是不能修改的,那么他是怎么生成的呢,看到下面的 res 文件夹了吗? R.java 就是根据资源文件夹 res 生成的 ,R.java