0
먼저 두 부분으로 나눌 수 있습니다. 내 앱에서 탐색 바를 사용하기 시작했으며이 막대를 사용하여보기를 변경하면 문제가 발생합니다. 콘텐츠보기 지우기
첫 번째 이미지
내 응용 프로그램의 최대 모든 필드/버튼 난치성있는 시작을 보여줍니다. 두 번째 이미지는 탐색 모음에서 항목을 선택하면 어떻게되는지 보여줍니다. 호출되는 뷰는 "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 명확, MainActivity() 또는 MainScreen()한지 잘 모르겠습니다.
다른 문제는 RelLay 라인이 NullPointerException을 발생시키는 응용 프로그램을 중단한다는 것입니다.
미리 감사드립니다.
흠이 어떻게 이런 짓을 했을까 작동합니까? – Demonic217