分享

Android 在非Activity的类中调用startActivityForResult...

 w_hf的图书馆 2011-07-20

Android 在非Activity的类中调用startActivityForResult

49人阅读评论(0)收藏举报

最近在做一个应用,需要在listview中的BaseAdapter类中调用startActivityForResult。

但是从Activity类传进来的Context却无法调用startActivityForResult()。

最后在网上查了下,http:///questions/2848775/use-startactivityforresult-from-non-activity

方法是将从Activity传进来的Context类改为Activity类,Result的返回在原Activity中的onActivityResult()处理即可。

范例如下:

假设原Activity类为AActivity

 

假设BaseAdapter类为:

AAdapter extends BaseAdapter

在其构造方法中增加Activity变量:

public AAdapter(AActivty aActivity){

this.mActivity = aActivty

}

然后即可在需要的地方调用startActivityForResult:

this.mActivity.startActivityForResult(intent,requestCode);

 

在AActivity中则将this传入即可:

AAdapter aAdapter = new AAdapter(this);

 

目前只找到这种方法,如果大家有更好的方法,请告诉我,谢谢!

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多