Android 找不到id片段的视图
当我按下InputFragmentNew片段中的按钮时,我希望newRegistrationFragment打开。但是当我试图打开它时,我有以下问题。如何从一个片段切换到另一个片段 头等舱Android 找不到id片段的视图,android,Android,当我按下InputFragmentNew片段中的按钮时,我希望newRegistrationFragment打开。但是当我试图打开它时,我有以下问题。如何从一个片段切换到另一个片段 头等舱 public class GirisFragmentNew extends Fragment implements View.OnClickListener{ btnKAyit.setOnClickListener(new View.OnClickListener() { @O
public class GirisFragmentNew extends Fragment implements View.OnClickListener{
btnKAyit.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
FragmentTransaction fragmentTransaction = getFragmentManager().beginTransaction();
fragmentTransaction.replace(R.id.fragment_container, new yeniKayıtFragment());
fragmentTransaction.commit();
}
});
}
第二个片段
public class yeniKayıtFragment extends Fragment {
private yeniKayıtModel yeniKayıtModel;
public View onCreateView(@NonNull LayoutInflater inflater,
ViewGroup container, Bundle savedInstanceState) {
yeniKayıtModel =
ViewModelProviders.of(this).get(yeniKayıtModel.class);
View root = inflater.inflate(R.layout.fragment_yenikayit, container, false);
Window window=getActivity().getWindow();
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
window.setNavigationBarColor(getResources().getColor(R.color.colorPrimary));}
return root;
}
第二类Xml
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="...yeniKayıtFragment">
<FrameLayout
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:id="@+id/fragment_container"
/>
<WebView
android:id="@+id/webviewYeniKayıt"
android:layout_width="match_parent"
android:layout_height="match_parent"
/>
</FrameLayout>
在
main活动中创建此公共变量
公共静态碎片管理器代码>
然后在onCreate
方法中
manager=getSupportFragmentManager()代码>
然后在你的GirisFragmentNew
片段中
btnKAyit.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
yeniKayıtFragment fragment = new yeniKayıtFragment();
MainActivity.manager.beginTransaction().replace(R.id.fragment_container,fragment,yenTAG).commit();
}
});
如果是Fragment
,则必须使用getChildFragmentManager
而不是getFragmentManager
。不要使用您尝试过的静态变量。检查以下内容:
btnKAyit.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
FragmentTransaction fragmentTransaction = getChildFragmentManager().beginTransaction();
fragmentTransaction.replace(R.id.fragment_container, new yeniKayıtFragment());
fragmentTransaction.commit();
}
});
谢谢,但我又遇到了同样的问题。