2 zxd 72 zxd_72 于 2012.11.15 09:34 提问

从主Activity中把Context类传递到另一个类中

在程序中,我在其它的类中使用getFileStreamPath与主activity类区分。传递主activity中的context到其它类,并使用这个context调用它的方法。
main activity class:

LocalStorage lc = new LocalStorage(this);

other class:

public class LocalStorage {
    Context ctx;

    public LocalStorage (Context c) {
        c = ctx;
        File lfile = ctx.getFileStreamPath("Activity.log");

    ....

很显然我遗漏了一些代码,,因为运行LocalStorage中context 的getFileStreamPath类时会抛出NullPointerException异常。请求大牛指点一二。

2个回答

myq_26
myq_26   2012.11.15 17:29
已采纳

你的变量

c = ctx;

应该改为:

ctx = c;

你未初始化的Context ctx分配到之前的Context c,所以它一直是null值。

zxd_72
zxd_72 是啊,稍不用心,一个简单的Bug需要找半天!
5 年多之前 回复
zhenglingkun
zhenglingkun 做个程序员细心很重要啊!我都吃了不少这方面的亏
5 年多之前 回复
myc_100
myc_100   2012.11.15 14:06

c = ctx ???

 Context ctx;

        public LocalStorage (Context c) {
            c = ctx;
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
Android中,如何在其他类调用Activity的方法,适用于类似场景
Android中,如何在其他类调用Activity的方法,适用于类似场景其他类以下简称B类一. 借助Handler(优点可以传递数据) 1).Activity调用其他类(B类)的时候 传入Handler B mB = new B(getApplicationContext(), mHandler); 2).在B类 需要调用Activity内方法的地方,调用mHandler.sendEmpty
如何在非Activity类中,跳转到另外一个Activity类(context.startActivity(intent); )
1.从一个Activity跳转到另一个Activity,代码如下:Intent intent = new Intent(当前Activity.this, 跳转到的Activity.class); startActivity(intent);2.在非Activity下,例如自定义adapter中,无法使用startActivity(intent);方法。此时,我们需要定义一个运行上下文来启动页面跳转:
在MFC中使用一个单独的类实现数据在各个类之间的传递
第一步:使用VS2010创建一个基于MFC的单文档程序,然后  编译 运行 确定没有问题。 第二步:添加一个名叫CGszCommonData 派生自 CWinApp的类。 解释说明:由于我们很容易获得CxxxApp类的指针,所以我们可以在文档、视图、对话框以及各种自定义类中访问到它们,达到与全局变量类似的效果。访问时用函数“AfxGetApp()”获得CxxxApp类的指针,用
Qt如何将消息在2个没有关系的类中从一个类发送到另一个类中
条件:①2个类直接没有任何关系;②接收消息的类必须有一个全局变量;③ QMetaObject::invokeMethod((QObject*)全局变量类, "接收的方法", Qt::AutoConnection, Q_ARG(接收的参数类型, 接收的参数));class ViewManagerA : public QMainWindow{ Q_OBJECT public: View...
关于两个类之间进行数组值的传递
       如果需要把一个类中的数组(类数组)的值传递给另一个类的数组(类数组),可以采用getter和setter方法进行值传递。具体如下:一,提供数组(类数组)值的类:在类中可以定义getter方法,用于获取数组的值;二,接收数组(类数组)值的类:在类中可以定义setter方法,用于接收从提供数组值类的值;三,最后可以进行方法调用,就可以对两个类之间进行数组值的传递了。以下是截图:提供数组值...
MFC中从一个类向其他类发送消息的方法
假设准备从A类向B类发送一个消息WM_MSG 首先:在B类中定义这个用户自定义消息,消息响应函数,并关联消息和消息响应函数 然后:在A类头文件中包含B类的头文件,并定义一个B类类型的指针成员变量,假设为*memB; 之后就可以使用memB->PostMessage()或者P
Android之在一个类里面注册Handler发送消息在另外一个类里面接收消息
1、问题 我们要在一个类里面变量或者函数变化需要改变另外一个类里面的东西,这个时候java里面除了接口回调之外,我们还可以用注册Handler来实现 2、代码实现 1、MainActivity.java文件 package com.example.handlercallback; import android.app.Activity; import androi
一个类怎样调用另一个类中的方法
一个类怎样调用另一个类中的方法
从一个类的值复制到给另一个类
1.copyPropertiesIgnoreNull(vo,u); //前面的赋值给后边的 2.BeanUtils.copyProperties(partnerFormVo, partners); //后边的赋值给前边的
在一个Activity中获取另一个Activity的上下文
1.在A的Activity中声明 public static AActivity instance; 2.在oncreate方法中instance = this; 3.在BActivity中这样:AActivity.instance