清除内容视图

问题描述:

首先,这可能是一个两部分问题。 所以我开始在我的应用程序中使用导航栏,并使用此栏更改视图导致我的问题。清除内容视图

This is the first screen of my app

This is what happens when I select the first option out of the navigation bar menu

第一个图像显示的开始我的应用程序中,所有字段/按钮棘手。第二张图片显示了当我从导航栏中选择一个项目时发生的情况。被调用的视图仅由称为“SCAN”的按钮组成,但它仅仅将该新视图与前一个视图组合在一起。

这里是从所述第一视图相关的代码/ MainActivity

@Override 
    protected void onCreate(Bundle savedInstanceState) 
    { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
     setSupportActionBar(toolbar); 

}); 

     DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout); 
     ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
       this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close); 
     drawer.setDrawerListener(toggle); 
     toggle.syncState(); 

     NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view); 
     navigationView.setNavigationItemSelectedListener(this); 
    } 

在同一MainActivity,这里是与导航栏涉及的代码。 Nav_Frame是在content_main.xml中声明的FrameLayout。

public boolean onNavigationItemSelected(MenuItem item) 
    { 
     // Handle navigation view item clicks here. 
     int id = item.getItemId(); 
     android.app.FragmentManager FragManager = getFragmentManager(); 
     if (id == R.id.nav_Menu) { 
      FragManager.beginTransaction().replace(R.id.Nav_Frame,new MainScreen()).commit(); 
     } else if (id == R.id.nav_gallery) { 

     } else if (id == R.id.nav_slideshow) { 

     } else if (id == R.id.nav_manage) { 

     } else if (id == R.id.nav_share) { 

     } else if (id == R.id.nav_send) { 

     } 

     DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout); 
     drawer.closeDrawer(GravityCompat.START); 
     return true; 
    } 

这是MainScreen()类的导航栏

public class MainScreen extends Fragment 
{ 
    View MyView; 
    Button Scan; 
    RelativeLayout RelLay; 
    MainActivity MA= new MainActivity(); 
    @Nullable 
    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) 
    { 
     RelLay=(RelativeLayout)MA.findViewById(R.id.RelativeLayout); 
     RelLay.removeAllViews(); 
     MyView = inflater.inflate(R.layout.home_screen,container,false); 
     Scan=(Button)MyView.findViewById(R.id.btnScan); 
     return MyView; 
    } 
} 

被称为我想我的问题是坐在这个类。在昨天一些谷歌搜索之后,.removeAllViews()方法似乎是我需要的。但是我不确定哪一个RelativeLayout是clear,MainActivity()或MainScreen()。

另一个问题是,RelLay行,崩溃应用程序给我一个NullPointerException。

在此先感谢。

无需删除片段 内的主要活动的观点只是简单地添加您的片段,将工作

+0

嗯,我会怎么做呢? – Demonic217