본문 바로가기

Android/Errors6

OptionMenu의 item에 actionLayout 지정 시 onOptionsItemSelected() 미작동 문제점 OptionMenu를 구현할 때 item을 icon이 아닌 actionLayout 옵션을 통해 layout을 지정하면, onOptionsItemSelected()가 호출되지 않아 클릭 시 이벤트를 처리할 수 없음. 해결 방법 @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.menu_sort, menu); for(int i=0; i 2020. 5. 8.
No Network Security Config specified, using platform default 문제점 http url을 통해 통신을 하거나 이미지, 오디오, 비디오 등을 불러올 때 다음과 같은 오류가 발생할 수 있다. 해결 방법 1. 네트워크 연결이 되어있는지 확인해보자. 와이파이와 데이터 모두 꺼져있을 수 있다. 2. 네트워크가 연결되있다면 http:// 로 시작하는 url을 https:// 로 고치면 해결할 수 있다. 3. https를 사용할 수 없다면 manifest의 application 태그에 다음 옵션을 추가해준다. android:usesCleartextTraffic="true" 2020. 5. 3.
Fragment에서 ViewPager 사용 시 문제점 문제점 NavigationDrawer의 Fragment 위에 ViewPager를 올려서 사용하려 했다. 그러나 navigation을 통해 다른 fragment로 이동 후 돌아오면 ViewPager가 사라지는 현상이 발생함. 해결 방법 // 잘못된 코드 MovieListPagerAdapter adapter = new MovieListPagerAdapter(getActivity().getSupportFragmentManager(), 1); // 올바른 코드 MovieListPagerAdapter adapter = new MovieListPagerAdapter(getChildFragmentManager(), 1); adapter 객체 생성 시 생성자에 FragmentManager를 파라미터로 넘겨주어야 했는데.. 2020. 4. 20.
Navigation Drawer Activity에서 Fragment 전환 문제점 NavigationView는 NavHostFragment라는 fragment 하나를 놓고 내용물을 바꾸면서 작동한다. 여기에 FragmentManager를 통해 transaction으로 add 또는 replace하여 fragment를 변경하려 했음. fragment가 바뀌긴 했으나 fragment가 남아있거나 기존 NavHostFragment를 불러오지 못하는 등 문제가 생김. 해결 방법 Navigation은 Destination과 Action으로 구성된다. Destination은 말 그대로 목적지로 fragment를 의미하고, Action은 fragment 간 이동을 말한다. 결론은, navigation 파일에 이동할 fragment를 추가한 뒤 action을 정의하니 깔끔하게 동작. 이동할 f.. 2020. 4. 20.
Fragment에서 startActivityForResult 사용 시 문제점 문제점 Fragment에서 startActivityForResult()를 통해 requestCode 101로 새 액티비티로 이동한 뒤 복귀했더니 정상적으로 intent에 저장된 데이터는 받아왔으나 requestCode가 65673과 같이 이상한 숫자로 넘어옴. 또한 onActivityResult() 함수가 Fragment에 없음. 해결 방법 public void moveToReviewWrite(){ Intent intent = new Intent(MainActivity.this, ReviewWriteActivity.class); startActivityForResult(intent, REQUESTCODE_REVIEW_WRITE); } 먼저 MainActivity에 메소드를 만들어 fragment에서 호출.. 2020. 4. 20.
Drawer Navigation 사용 시 menu의 group 나누기 1. group 하나로 묶었을 경우 구분선 없이 모두 모여 나타남. 2. group만 나눈 경우 똑같이 구분선 없이 하나의 그룹처럼 보임. 3. group을 나눈 뒤 각자 다른 id 부여 구분선이 생겨 그룹이 나뉘어진 걸 식별할 수 있음. 1. group을 나눈 뒤 menu와 item 태그로 한번 더 감쌈. item에 title을 설정한 뒤 감싸주었더니 구분선과 함께 label이 나타난 것을 확인. 2020. 4. 20.