gpt4 book ai didi

android - 在 fragment 中使用 PlacePicker

转载 作者:行者123 更新时间:2023-12-05 07:48:35 25 4
gpt4 key购买 nike

我正在尝试从属于我的 Android 应用程序的 fragment 中使用 google placepicker。我似乎无法使用 onActivityResult 返回的数据。我使用了 ( https://inthecheesefactory.com/blog/how-to-fix-nested-fragment-onactivityresult-issue/en) 中的解决方案将结果返回到一个 fragment 中。但是,此解决方案不允许我根据 placePicker 的输入更改 View 中的元素。带有位置信息的 toast 有效但不会更改按钮,因为它在膨胀 View 之外。我正在使用 fragment ,因为我的应用程序是一个带有 2 个 fragment 的选项卡式 slider 应用程序,用于创建位置和查看位置。

如有必要,请帮助并要求澄清!

这是 myFragment extends Fragment 类中的 onCreateView:

@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.activity_make_minyan, container, false);

//Map Place Activity
final Button locationButton = (Button) rootView.findViewById(R.id.button_location);
locationButton.setOnClickListener(new View.OnClickListener() {
//int RESULT_OK;
public void onClick(View v) {
PlacePicker.IntentBuilder builder = new PlacePicker.IntentBuilder();
try {
getActivity().startActivityForResult(builder.build(getActivity()), PLACE_PICKER_REQUEST);
} catch (GooglePlayServicesRepairableException e) {
e.printStackTrace();
} catch (GooglePlayServicesNotAvailableException e) {
e.printStackTrace();
}
}
});
//a bunch of other buttons and spinner etc that are working.

return rootView;
}

这里是上面链接的解决方案中使用的 onActivityResult 代码。注释掉的行是当前无法运行的代码行。

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == PLACE_PICKER_REQUEST) {
if (resultCode == Activity.RESULT_OK) {
Place place = PlacePicker.getPlace(data, getActivity());
//locationButton.setText(String.format("Place: %s", place.getName()));
String toastMsg = String.format("Place: %s", place.getName());
Toast.makeText(getContext(), toastMsg, Toast.LENGTH_LONG).show();
}
}
}

最佳答案

如果您编写 getActivity().startActivityForResult(...),那么 onActivityResult 将在您的 Activity 中调用,而不是在您的 Fragment 中调用。

尝试使用 startActivityForResult(...)

关于android - 在 fragment 中使用 PlacePicker,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38314375/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com