0

首先,這可能是一個兩部分問題。 所以我開始在我的應用程序中使用導航欄,並使用此欄更改視圖導致我的問題。清除內容視圖

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

無需刪除片段 內的主要活動的觀點只是簡單地添加您的片段,將工作

+0

嗯,我會怎麼做呢? – Demonic217