<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
...
<LinearLayout android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.v7.widget.RecyclerView
android:id="@+id/rcyViatgesDetall"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="3"/>
<FrameLayout
android:id="@+id/viatge_detail_container"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="6"
/>
在我之前提到的活动的自定义回收器视图适配器中,我想在点击我的一个元素时对碎片进行充电,例如:
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
ViatgeDetallViewFragment fragment = new ViatgeDetallViewFragment();
//fragment.setArguments(arguments);
mActivity.getSupportFragmentManager().beginTransaction()
.replace(R.id.viatge_detail_container, fragment)
.commit();
这是我的片段类:
public class ViatgeDetallViewFragment extends Fragment implements OnMapReadyCallback {
public static final String ARG_ID = "id";
private GoogleMap mMap;
private Marker mMarcadorActual;
private static final int CODI_PETICIO_PERMIS_GPS = 13;
public ViatgeDetallViewFragment() {
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_view, container, false);
MapFragment mapFragment = (MapFragment) getActivity().getFragmentManager().findFragmentById(R.id.fragment_view_map); //esto funciona
mapFragment.getMapAsync(this);
return rootView;
}
@Override
public void onMapReady(GoogleMap googleMap) {
mMap = googleMap;
if (ActivityCompat.checkSelfPermission(this.getContext(), //solo this
Manifest.permission.ACCESS_FINE_LOCATION) !=
PackageManager.PERMISSION_GRANTED &&
ActivityCompat.checkSelfPermission(this.getContext(), //solo this
Manifest.permission.ACCESS_COARSE_LOCATION)
!= PackageManager.PERMISSION_GRANTED) {
// NO tinc permisos, en demano
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
requestPermissions(
new String[] {Manifest.permission.ACCESS_FINE_LOCATION}, CODI_PETICIO_PERMIS_GPS);
}
} else {
mMap.setMyLocationEnabled(true);
}
.....
}
@Override
public void onRequestPermissionsResult(int requestCode,
@NonNull String[] permissions,
@NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
if(grantResults[0]==PackageManager.PERMISSION_GRANTED) {
try {
mMap.setMyLocationEnabled(true);
}catch(SecurityException ex) {
}
}
}
}
这个片段还加载了一个google Maps片段,您可以在它的布局中看到:
<LinearLayout android:id="@+id/layout_fragment_view" xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent"
>
<fragment
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/fragment_view_map"
class="com.google.android.gms.maps.MapFragment"></fragment>
</LinearLayout>
当我在一个项目中第一次点击时,一切正常,但当我在另一个项目中第二次点击时,我会得到以下错误:
我想在Android的一个活动中添加两个片段。但在加法时,它给出了错误; activity_main.xml 片段的布局1 片段2的布局
我有一个疑问,想澄清一些关于包含多个片段的活动的观点。 我有10个片段与一个活动(HomeActivity.java)相连;此活动包含一个导航抽屉和工具栏,带有多个图标,如搜索、添加、删除、后退按钮等。 我遵循的结构如下:, 用户点击抽屉菜单中的任何项目,我正在加载片段, 碎片加载- 我正在根据HomeActivity本身中的片段更改标题名称,基于工具栏。 我的导航抽屉项目只有一个片段,在frag
在为客户端启动新应用程序时,我在再次问自己关于谁应该负责加载数据的同一个问题:活动还是片段。我已经为不同的应用程序采取了这两种选择,我想知道哪种模式是最好的,根据您的意见: 限制代码复杂性。 处理边缘情况(如屏幕旋转、屏幕运行省电、连接丢失等) 这允许有一些片段,这些片段只是被提供给一堆对象来显示。他们对加载数据和我们如何加载数据一无所知。 另一方面,活动使用所需的任何方法加载数据(例如,最初加载
我有一个片段,基本上工作良好。在onResume方法中,当用户到达活动/片段时,我执行一个api调用以获取新的数据。 这个大部分时间都很好用。但是,当用户在update ui方法完成之前导航回父活动时,我遇到了一个问题。更新ui只是设置一些文本视图。 例如。当用户导航到活动和片段时,将调用上面的onResume。用户立即返回父活动。异步调用和更新ui尚未完成,我得到: 致命异常:主进程:com.p
我正在学习Android Udacity课程,它已经过时了,所以我尝试通过手动添加一个片段到主活动中来更新它。这段代码构建得很好,但是当应用程序启动时,在android monitor中出现了一个很长的错误。 XML fragment_main.xml activity_main.xml list_itemm_forecast.xml 日志 06-23 11:23:02.878 3095-3095
代码如下:- 产品片段: 我不知道我错在哪里。我已经搜索了错误,甚至尝试了以下链接的解决方案: Fragment MyFragment not attached to activity 我在SO上提出问题,但没有得到响应/答案。可能有一个小错误、语法/格式问题或重复问题,但我的案例可能与其他人的不同。 因此,请提供帮助并作出答复。 谢谢。 --编辑-- 家庭活动: 致命异常:主进程:com.pis