我需要将我的应用程序实现到其他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();
}
答案 0 :(得分:0)
onActivityResult方法不能是@Override,如果我发表评论,那么该方法永远不会被使用。我该怎么办呢?
覆盖您调用onActivityResult()
的活动或片段中的startActivityForResult()
。
顺便说一句,您的第一个代码段中的代码会因NullPointerException
而崩溃,因为您没有为act
分配值,更不用说在它上面调用startActivityForResult()
了。