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币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!