java android,onActivityResult无效

时间:2017-09-10 18:35:59

标签: android android-intent android-activity onactivityresult

我需要将我的应用程序实现到其他Android项目,现在我遇到的问题是onActivityResult方法不起作用。我想要实现的是Intent我会将结果返回到1级(G_map),但我无法弄清楚如何使其工作。

我上课1:

public class G_map extends GraphObj{

    private Context contextOwn;
    private Activity act;

    public G_map(GraphObjMgr gom, final Context context, GraphSetting gs) {
        super(gom, context, gs, R.layout.test_map);
        Intent i = new Intent(contextOwn, PickLocationActivity.class);
        act.startActivityForResult(i, 1);

    //@Override
    public void onActivityResult(final int requestCode, int resultCode, Intent data) {
    //super.onActivityResult(requestCode, resultCode, data);
    Log.e("State", "This won't start.");
   }
}

活动PickLocationActivity正常启动,从第二类我需要获得结果到第一个类。 onActivityResult的方法不能是@Override,如果我发表评论,那么该方法永远不会被使用。我能做些什么呢?在我的应用程序中,它工作正常,我不需要使用act.startActivityForResult但是startActivityForResult。

我想我需要以某种方式联系"行动"使用onActivityResult方法,但我不知道如何。任何建议都会有所帮助!

第2课:

public class PickLocationActivity extends AppCompatActivity{
     ...
            Intent intent = new Intent();
            intent.putExtra("Location Address", predictions.getPlaces().get(position).getPlaceDesc());
            intent.putExtra("placeID", predictions.getPlaces().get(position).getPlaceID());
            setResult(CUSTOM_AUTOCOMPLETE_REQUEST_CODE, intent);
            finish();
}

1 个答案:

答案 0 :(得分:0)

  

onActivityResult方法不能是@Override,如果我发表评论,那么该方法永远不会被使用。我该怎么办呢?

覆盖您调用onActivityResult()的活动或片段中的startActivityForResult()

顺便说一句,您的第一个代码段中的代码会因NullPointerException而崩溃,因为您没有为act分配值,更不用说在它上面调用startActivityForResult()了。