Search view 의 inflatemenu를 하면 강제종료가 됩니다.


제목대로 서치뷰에 메뉴를 인플레이트 하면 강제종료가 됩니다. 리소스가 없다고 나오는데 무슨 영문인지 아래와 같이 나옵니다.

os4에서만 발생하고 그이후의 os에서는 문제가 없습니다. 조언 부탁드려욥!

android.view.InflateException: Binary XML file line #0: Error inflating class

Resources$NotFoundException: Resource is not a ColorStateList (color or path)

  • 2017년 11월 30일에 작성됨
    Android개발을 하고 있습니다만 모르는것이 많습니다. ^^;;

조회수 77


1 답변


좋아요
1
싫어요
채택취소하기

오류 코드 올려주신것은 좋습니다! 그런데 인플레이트하는 코드도 같이 올려주시면 더 추측하기 쉽겠네요.

오류코드만 보고는 제가 당장 생각나는건 없어서... 제가 작성했던 코드를 올려드리겠습니다!

menu.xml
<?xml version="1.0" encoding="utf-8"?>

<menu xmlns:android="http://schemas.android.com/apk/res/android"
      xmlns:app="http://schemas.android.com/apk/res-auto">

        <item android:id="@+id/menu_item_search"
              android:title="@string/search"
              app:actionViewClass="android.support.v7.widget.SearchView"
              app:showAsAction="ifRoom"/>

</menu>

in fragment

@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
    super.onCreateOptionsMenu(menu, inflater);
    inflater.inflate(R.menu.fragment_photo_gallery, menu);

    MenuItem searchItem = menu.findItem(R.id.menu_item_search);
    final SearchView searchView = (SearchView) searchItem.getActionView();

    searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
        @Override
        public boolean onQueryTextSubmit(String s) {
        }

        @Override
        public boolean onQueryTextChange(String s) {
        }
    });
    searchView.setOnSearchClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
        }
    });
}
  • 2017년 12월 01일에 작성됨
    안드로이드 입문

  • 소중한 답변 감사드립니다!! 바보같이 스타일을 나뉘났었는데 테마를 한군데만 정의해놓은게 원인이였습니다 이것때문에 3시간을 ㅜㅜ     초보초보초밥입니다.   2017.12.1 12:56     
  • 리소스 낫 파운드 에러로그가 있어서 감을 못잡았는데 그랬었군요 ㅋㅋ    김은기   2017.12.1 18:03     

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close