rai*_*iym 1 android android-fragments
我想LifecycleFragment在我的Android应用程序中应用new :
FragmentManager fragmentManager = getFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.replace(R.id.fragmentContainer, new CustomBlockUrlProviderFragment());
fragmentTransaction.addToBackStack("manage_custom_url_providers");
fragmentTransaction.commit();
Run Code Online (Sandbox Code Playgroud)
fragmentTransaction.replace(R.id.fragmentContainer, new CustomBlockUrlProviderFragment());我在这条线上遇到错误.说第二个参数应该是Fragment.
如何使它工作?
鉴于你的代码片段的第一行,我猜你正在使用android.app.FragmentManager,并且历史上你一直在使用本机片段(android.app.Fragment).LifecycleFragment继承自片段backport(android.support.v4.app.Fragment),并且您不能在同一活动中混合和匹配本机和反向片段.
但您可以创建自己的LifecycleFragment:
import android.app.Fragment;
import android.arch.lifecycle.Lifecycle;
import android.arch.lifecycle.LifecycleOwner;
import android.arch.lifecycle.LifecycleRegistry;
import android.os.Bundle;
import android.support.annotation.Nullable;
public class LifecycleFragment extends Fragment
implements LifecycleOwner {
private LifecycleRegistry registry=new LifecycleRegistry(this);
@Override
public Lifecycle getLifecycle() {
return(registry);
}
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
registry.handleLifecycleEvent(Lifecycle.Event.ON_CREATE);
}
@Override
public void onStart() {
super.onStart();
registry.handleLifecycleEvent(Lifecycle.Event.ON_START);
}
@Override
public void onResume() {
super.onResume();
registry.handleLifecycleEvent(Lifecycle.Event.ON_RESUME);
}
@Override
public void onPause() {
super.onPause();
registry.handleLifecycleEvent(Lifecycle.Event.ON_PAUSE);
}
@Override
public void onStop() {
super.onStop();
registry.handleLifecycleEvent(Lifecycle.Event.ON_STOP);
}
@Override
public void onDestroy() {
super.onDestroy();
registry.handleLifecycleEvent(Lifecycle.Event.ON_DESTROY);
}
}
Run Code Online (Sandbox Code Playgroud)
或者,切换到片段后端口(例如,FragmentActivity/ LifecycleActivity/ AppCompatActivity,getSupportFragmentManager()).
| 归档时间: |
|
| 查看次数: |
3205 次 |
| 最近记录: |