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)

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

ᕕ( ᐛ )ᕗ
로그인이 필요합니다

작성한 답변에 다른 개발자들이 댓글을 작성하거나 댓글에 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.