0
我正在创建一个具有抽屉一个MainActivity和多个片段的应用程序,其中一个片段将所有按钮保存到其他片段(不包括它的自我),这样既buttonsFragment和抽屉可以调用片段现在的问题是,即时通讯创建每个片段的两个副本,当我把它从抽屉中,当我把它从buttonsFragment使用按钮和菜单项调用相同的片段(不在backStack中创建重复项)
我的代码:
MainActivity()
@SuppressWarnings("StatementWithEmptyBody")
@Override
public boolean onNavigationItemSelected(MenuItem item) {
// Handle navigation view item clicks here.
int id = item.getItemId();
xFragment xFrag = new xfragment();
if (id == R.id.menuItem1) {
FragmentManager manager = getSupportFragmentManager();
android.support.v4.app.FragmentTransaction fM = manager.beginTransaction();
boolean moneyFragmentPoppedMenu = manager.popBackStackImmediate(xFragName,0);
if(!FragmentPoppedMenu){
fM.replace(R.id.content_main, xfrag, mT);
fM.addToBackStack(mFragName);
fM.commit();
}
else if (FragmentPoppedMenu){
fM.replace(R.id.content_main, xfrag);}
}
buttonsFragment()
xFragButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
FragmentManager manager = getActivity().getSupportFragmentManager();
android.support.v4.app.FragmentTransaction fM = manager.beginTransaction();
boolean FragmentPoppedButton = manager.popBackStackImmediate(xFragName, 0);
if(!FragmentPoppedButton){
fM.replace(R.id.content_main, xfrag);
fM.addToBackStack(xFragName);
fM.commit();
}
else if (FragmentPoppedButton){ fM.replace(R.id.content_main, xfrag);}
我发现了,因为当我从菜单中打开并输入一个EDITTEXT东西再从buttonsFragment打开它显示了一个明确的EDITTEXT然后当我从菜单中我所输入的再次打开仍然存在
java.lang.RuntimeException:无法实例化活动ComponentInfo {com.example.bader.myapplication/com.example.b.myapplication.MainActivity}:java.lang.NullPointerException:试图调用虚拟方法'android.view.Window $回调android.view.Window.getCallback()'空对象引用 – Redab0
你在哪里有这个xFragButton按钮?请确保它不为null。 –
绑定xFragButton到它的view.or其他张贴在这里您onCreateView()代码 –