【发布时间】:2023-03-30 04:13:01
【问题描述】:
在我的recyclerviewadapter 中,我将 onClick 定义为:
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Snackbar.make(view, "View Clicked: "+Double.toString(position)+", "+current.getPlace(),
Snackbar.LENGTH_LONG).show();
}
});
此视图包含一个地点的latitude 和longtidue。现在,我的目标是将 LatLng 转移到 MapFragment 上的 OnActivityResult 以显示地图。
在我的地图片段中,我已经有一个 onActivityResult 为:
int PLACE_PICKER_REQUEST = 1;
@Override
public boolean onOptionsItemSelected(MenuItem item) {
PlacePicker.IntentBuilder builder = new PlacePicker.IntentBuilder();
try {
startActivityForResult(builder.build(getActivity()), PLACE_PICKER_REQUEST);
} catch(GooglePlayServicesRepairableException |
GooglePlayServicesNotAvailableException e) {
e.printStackTrace();
}
return true;
}
// Get LatLng from placePicker
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == PLACE_PICKER_REQUEST) {
if (resultCode == Activity.RESULT_OK) {
Place place = PlacePicker.getPlace(data, getContext());
String toastMsg = String.format("Place: %s", place.getName());
System.out.println(place);
Snackbar.make(getView(), toastMsg, Snackbar.LENGTH_LONG).show();
latlang.Lat = place.getLatLng().latitude;
latlang.Lang = place.getLatLng().longitude;
addMarker(place);
....
}
由于我是java新手,我无法解决如何从适配器获取数据到这个onActivityResult。
伪代码会很有帮助。
【问题讨论】:
-
适配器是否在 MapFragment 中?还是在不同的片段中?
-
适配器在另一个片段中
-
@HemantParmar:正如我所说,由于我没有java经验,我无法解决这个问题。我已经检查过您之前建议的链接,但不幸的是,这对我来说还不够
-
给一些代码..通常我们不使用onactivityresult方法进行片段之间的通信。
标签: android android-recyclerview