MaterialSearchBar icon indicating copy to clipboard operation
MaterialSearchBar copied to clipboard

Binary XML file line #10: Error inflating class com.mancj.materialsearchbar.MaterialSearchBar

Open bottdw15 opened this issue 5 years ago • 0 comments

Cannot for the life of me figure out this issue. I've seen other people have similar issues, but I don't believe mine is like theirs.

E/AndroidRuntime: FATAL EXCEPTION: main Process: com.darrelbott.search, PID: 6010 java.lang.RuntimeException: Unable to start activity ComponentInfo{com.darrelbott.search/com.darrelbott.search.MainActivity}: android.view.InflateException: Binary XML file line #10: Binary XML file line #10: Error inflating class com.mancj.materialsearchbar.MaterialSearchBar at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2913) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3048) at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78) at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108) at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1808) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loop(Looper.java:193) at android.app.ActivityThread.main(ActivityThread.java:6669) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858) Caused by: android.view.InflateException: Binary XML file line #10: Binary XML file line #10: Error inflating class com.mancj.materialsearchbar.MaterialSearchBar Caused by: android.view.InflateException: Binary XML file line #10: Error inflating class com.mancj.materialsearchbar.MaterialSearchBar Caused by: java.lang.reflect.InvocationTargetException at java.lang.reflect.Constructor.newInstance0(Native Method) at java.lang.reflect.Constructor.newInstance(Constructor.java:343) at android.view.LayoutInflater.createView(LayoutInflater.java:647) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:790) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:730) at android.view.LayoutInflater.rInflate(LayoutInflater.java:863) at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:824) at android.view.LayoutInflater.inflate(LayoutInflater.java:515) at android.view.LayoutInflater.inflate(LayoutInflater.java:423) at android.view.LayoutInflater.inflate(LayoutInflater.java:374) at com.android.internal.policy.PhoneWindow.setContentView(PhoneWindow.java:420) at android.app.Activity.setContentView(Activity.java:2771) at com.darrelbott.search.MainActivity.onCreate(MainActivity.java:32) at android.app.Activity.performCreate(Activity.java:7136) at android.app.Activity.performCreate(Activity.java:7127) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1271) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2893) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3048) at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78) at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108) at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1808) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loop(Looper.java:193) at android.app.ActivityThread.main(ActivityThread.java:6669) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858) Caused by: android.view.InflateException: Binary XML file line #23: Binary XML file line #23: Error inflating class android.widget.ImageView Caused by: android.view.InflateException: Binary XML file line #23: Error inflating class android.widget.ImageView Caused by: java.lang.reflect.InvocationTargetException at java.lang.reflect.Constructor.newInstance0(Native Method) at java.lang.reflect.Constructor.newInstance(Constructor.java:343) E/AndroidRuntime: at android.view.LayoutInflater.createView(LayoutInflater.java:647) at com.android.internal.policy.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:58) at android.view.LayoutInflater.onCreateView(LayoutInflater.java:720) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:788) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:730) at android.view.LayoutInflater.rInflate(LayoutInflater.java:863) at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:824) at android.view.LayoutInflater.rInflate(LayoutInflater.java:866) at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:824) at android.view.LayoutInflater.rInflate(LayoutInflater.java:866) at android.view.LayoutInflater.inflate(LayoutInflater.java:489) at android.view.LayoutInflater.inflate(LayoutInflater.java:423) at android.view.LayoutInflater.inflate(LayoutInflater.java:374) at android.view.View.inflate(View.java:24354) at com.mancj.materialsearchbar.MaterialSearchBar.init(MaterialSearchBar.java:138) at com.mancj.materialsearchbar.MaterialSearchBar.(MaterialSearchBar.java:123) at java.lang.reflect.Constructor.newInstance0(Native Method) at java.lang.reflect.Constructor.newInstance(Constructor.java:343) at android.view.LayoutInflater.createView(LayoutInflater.java:647) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:790) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:730) at android.view.LayoutInflater.rInflate(LayoutInflater.java:863) at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:824) at android.view.LayoutInflater.inflate(LayoutInflater.java:515) at android.view.LayoutInflater.inflate(LayoutInflater.java:423) at android.view.LayoutInflater.inflate(LayoutInflater.java:374) at com.android.internal.policy.PhoneWindow.setContentView(PhoneWindow.java:420) at android.app.Activity.setContentView(Activity.java:2771) at com.darrelbott.search.MainActivity.onCreate(MainActivity.java:32) at android.app.Activity.performCreate(Activity.java:7136) at android.app.Activity.performCreate(Activity.java:7127) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1271) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2893) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3048) at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78) at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108) at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1808) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loop(Looper.java:193) at android.app.ActivityThread.main(ActivityThread.java:6669) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858) Caused by: java.lang.UnsupportedOperationException: Failed to resolve attribute at index 13: TypedValue{t=0x2/d=0x7f030135 a=-1} at android.content.res.TypedArray.getDrawableForDensity(TypedArray.java:946) at android.content.res.TypedArray.getDrawable(TypedArray.java:930) at android.view.View.(View.java:5010) at android.widget.ImageView.(ImageView.java:177) at android.widget.ImageView.(ImageView.java:172) at android.widget.ImageView.(ImageView.java:168) plus 44 other lines

in layout folder: activity_main.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.darrelbott.search.MainActivity">

<com.mancj.materialsearchbar.MaterialSearchBar
    style="@style/MaterialSearchBarLight"
    app:mt_speechMode="true"
    app:mt_hint="Custom hint"
    app:mt_maxSuggestionsCount="10"
    app:mt_searchBarColor="@color/colorPrimary"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/search_bar" />

<android.support.v7.widget.RecyclerView
    android:id="@+id/recycler_search"
    android:layout_below="@+id/search_bar"
    android:layout_width="match_parent"
    android:layout_height="match_parent"/>

java file in java/com.darrelbott.search/model/MainActivity MainActivity.java public class MainActivity extends Activity {

RecyclerView recyclerView;
RecyclerView.LayoutManager layoutManager;
SearchAdapter adapter;

MaterialSearchBar materialSearchBar;
List<String> suggestList = new ArrayList<>();

Database database;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    //init View
    recyclerView = (RecyclerView)findViewById(R.id.recycler_search);
    layoutManager = new LinearLayoutManager(this);
    recyclerView.setLayoutManager(layoutManager);
    recyclerView.setHasFixedSize(true);

    materialSearchBar = (MaterialSearchBar)findViewById(R.id.search_bar);
    //materialSearchBar.inflateMenu(R.layout.activity_main);
    //init DB
    database = new Database(this);

    //setup search bar
    //materialSearchBar.setHint("Search");
    //materialSearchBar.setCardViewElevation(10);
    loadSuggestList();
    materialSearchBar.addTextChangeListener(new TextWatcher() {

        @Override
        public void beforeTextChanged(CharSequence charSequence, int start, int count, int after) {

        }

        // method for when user types in search bar, return suggested strings
        @Override
        public void onTextChanged(CharSequence charSequence, int start, int before, int after) {

            List<String> suggest = new ArrayList<>();
            for(String search : suggestList) {
                if(search.toLowerCase().contains(materialSearchBar.getText().toLowerCase()))
                    suggest.add(search);
            }
            materialSearchBar.setLastSuggestions(suggest);

        }

        @Override
        public void afterTextChanged(Editable editable) {

        }
    });
    materialSearchBar.setOnSearchActionListener(new MaterialSearchBar.OnSearchActionListener() {

        @Override
        public void onSearchStateChanged(boolean enabled) {
            if(!enabled)
                recyclerView.setAdapter(adapter);
        }

        @Override
        public void onSearchConfirmed(CharSequence text) {
            startSearch(text.toString());
        }

        @Override
        public void onButtonClicked(int buttonCode) {

        }
    });

    //init Adapter default set all result
    adapter = new SearchAdapter(this, database.getFriends());
}

private void startSearch(String text) {
    adapter = new SearchAdapter(this, database.getFriendByName(text));
    recyclerView.setAdapter(adapter);
}

private void loadSuggestList() {
    suggestList = database.getNames();
    materialSearchBar.setLastSuggestions(suggestList);
}

}

Any thoughts? I'm really at a loss for this as I've been trying different things for over a day now.

bottdw15 avatar Dec 08 '18 00:12 bottdw15