SearchView在三星s6和galaxy edge note上崩溃

时间:2017-10-17 08:56:11

标签: android xml android-layout searchview

我在我的应用程序中使用了Android搜索视图,并且它在许多设备上运行良好,包括(HTC M9,HTC Desire 10 pro,Nexus 6,Infinix手机,Nexus 5),但该应用程序仅在三星galaxy s6 plus上崩溃,并且三星Galaxy笔记边缘。问题在于扩展XML布局,我已在互联网上搜索但无法找到解决方案,有些人建议将appCompat更改为23.0.2,但它没有用。

崩溃日志:

10-17 13:45:44.661 19378-19378/com.ingic.aaloo E/AndroidRuntime: FATAL EXCEPTION: main
                                                             Process: com.ingic.aaloo, PID: 19378
                                                             java.lang.RuntimeException: Unable to start activity ComponentInfo{com.ingic.aaloo/com.ingic.aaloo.activities.ContactSelectionActivity}: android.view.InflateException: Binary XML file line #72: Binary XML file line #72: Error inflating class android.widget.SearchView
                                                                 at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3254)
                                                                 at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3350)
                                                                 at android.app.ActivityThread.access$1100(ActivityThread.java:222)
                                                                 at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1795)
                                                                 at android.os.Handler.dispatchMessage(Handler.java:102)
                                                                 at android.os.Looper.loop(Looper.java:158)
                                                                 at android.app.ActivityThread.main(ActivityThread.java:7229)
                                                                 at java.lang.reflect.Method.invoke(Native Method)
                                                                 at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
                                                                 at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
                                                              Caused by: android.view.InflateException: Binary XML file line #72: Binary XML file line #72: Error inflating class android.widget.SearchView
                                                                 at android.view.LayoutInflater.inflate(LayoutInflater.java:551)
                                                                 at android.view.LayoutInflater.inflate(LayoutInflater.java:429)
                                                                 at android.view.LayoutInflater.inflate(LayoutInflater.java:380)
                                                                 at android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:292)
                                                                 at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:140)
                                                                 at com.ingic.aaloo.activities.BaseActivity.setContentView(BaseActivity.java:56)
                                                                 at com.ingic.aaloo.activities.ContactSelectionActivity.onCreate(ContactSelectionActivity.java:70)
                                                                 at android.app.Activity.performCreate(Activity.java:6876)
                                                                 at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1135)
                                                                 at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3207)
                                                                 at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3350) 
                                                                 at android.app.ActivityThread.access$1100(ActivityThread.java:222) 
                                                                 at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1795) 
                                                                 at android.os.Handler.dispatchMessage(Handler.java:102) 
                                                                 at android.os.Looper.loop(Looper.java:158) 
                                                                 at android.app.ActivityThread.main(ActivityThread.java:7229) 
                                                                 at java.lang.reflect.Method.invoke(Native Method) 
                                                                 at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230) 
                                                                 at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120) 
                                                              Caused by: android.view.InflateException: Binary XML file line #72: Error inflating class android.widget.SearchView
                                                                 at android.view.LayoutInflater.createView(LayoutInflater.java:657)
                                                                 at com.android.internal.policy.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:58)
                                                                 at android.view.LayoutInflater.onCreateView(LayoutInflater.java:706)
                                                                 at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:774)
                                                                 at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:716)
                                                                 at android.view.LayoutInflater.rInflate(LayoutInflater.java:847)
                                                                 at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:810)
                                                                 at android.view.LayoutInflater.rInflate(LayoutInflater.java:855)
                                                                 at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:810)
                                                                 at android.view.LayoutInflater.rInflate(LayoutInflater.java:855)
                                                                 at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:810)
                                                                 at android.view.LayoutInflater.rInflate(LayoutInflater.java:855)
                                                                 at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:810)
                                                                 at android.view.LayoutInflater.rInflate(LayoutInflater.java:855)
                                                                 at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:810)
                                                                 at android.view.LayoutInflater.inflate(LayoutInflater.java:527)
                                                                 at android.view.LayoutInflater.inflate(LayoutInflater.java:429) 
                                                                 at android.view.LayoutInflater.inflate(LayoutInflater.java:380) 
                                                                 at android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:292) 
                                                                 at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:140) 
                                                                 at com.ingic.aaloo.activities.BaseActivity.setContentView(BaseActivity.java:56) 
                                                                 at com.ingic.aaloo.activities.ContactSelectionActivity.onCreate(ContactSelectionActivity.java:70) 
                                                                 at android.app.Activity.performCreate(Activity.java:6876) 
                                                                 at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1135) 
                                                                 at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3207) 
                                                                 at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3350) 
                                                                 at android.app.ActivityThread.access$1100(ActivityThread.java:222) 
                                                                 at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1795) 
                                                                 at android.os.Handler.dispatchMessage(Handler.java:102) 
                                                                 at android.os.Looper.loop(Looper.java:158) 
                                                                 at android.app.ActivityThread.main(ActivityThread.java:7229) 
                                                                 at java.lang.reflect.Method.invoke(Native Method) 
                                                                 at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230) 
                                                                 at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120) 

XML部分:

            <FrameLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentRight="true"
                android:layout_centerVertical="true">


                <SearchView
                    android:id="@+id/btn_search"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:searchIcon="@null"
                    android:theme="@style/searchViewTheme" />


                <!--android:searchIcon="@drawable/icon_search"-->
                <ImageView
                    android:id="@+id/btn_search_dummy"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center"
                    android:clickable="false"
                    android:scaleX="0.85"
                    android:scaleY="0.85"
                    android:src="@drawable/icon_search" />

            </FrameLayout>

依赖关系:

dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
    exclude group: 'com.android.support', module: 'support-annotations'
})
compile files('libs/classes-dex2jar.jar')
compile project(':filebrowser')
compile 'com.android.support:appcompat-v7:25.3.1'
compile 'com.android.support:cardview-v7:25.3.1'
compile 'com.google.guava:guava:14.0.1'
compile 'com.jakewharton:butterknife:8.5.1'
compile 'com.andreabaccega:android-form-edittext:1.3.+'
compile 'com.android.support:design:25.3.1'
compile 'de.hdodenhof:circleimageview:2.1.0'
compile 'com.github.clans:fab:1.6.4'
compile 'uk.co.chrisjenx:calligraphy:2.2.0'
compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.5'
compile 'org.lucasr.twowayview:twowayview:0.1.4'
compile 'io.pristine:libjingle:9127@aar'
compile 'org.igniterealtime.smack:smack-tcp:4.2.0'
compile 'org.igniterealtime.smack:smack-im:4.2.0'
compile 'org.igniterealtime.smack:smack-extensions:4.2.0'
compile 'org.igniterealtime.smack:smack-android:4.2.0'
compile 'com.google.code.gson:gson:2.8.0'
compile 'io.realm:realm-android-library:3.1.3'
compile 'com.google.firebase:firebase-messaging:10.2.1'
compile 'com.squareup.retrofit2:retrofit:2.3.0'
compile 'com.squareup.retrofit2:converter-gson:2.0.2'
compile 'com.squareup.okhttp3:okhttp:3.4.1'
compile 'com.squareup.okhttp3:logging-interceptor:3.4.1'
compile 'com.android.support:multidex:1.0.1'
compile 'io.reactivex.rxjava2:rxandroid:2.0.1'
compile 'io.reactivex.rxjava2:rxjava:2.1.0'
compile 'com.android.support:support-v4:25.3.1'
compile 'com.amazonaws:aws-android-sdk-core:2.2.13'
compile 'com.amazonaws:aws-android-sdk-cognito:2.2.13'
compile 'com.amazonaws:aws-android-sdk-s3:2.2.13'
compile 'com.amazonaws:aws-android-sdk-ddb:2.2.13'
compile 'com.splunk.mint:mint:5.0.0'
compile 'com.android.support.constraint:constraint-layout:1.0.2'
compile 'com.theartofdev.edmodo:android-image-cropper:2.4.+'
compile 'com.github.hani-momanii:SuperNova-Emoji:1.1'
compile 'com.github.nekocode:Emojix:1.2'
compile 'com.l4digital.fastscroll:fastscroll:1.0.4'
compile 'com.github.madrapps:pikolo:1.1.6'
compile 'com.github.ozodrukh:CircularReveal:1.1.0'
compile 'com.github.bumptech.glide:glide:3.8.0'
compile 'com.github.chrisbanes:PhotoView:2.0.0'
compile 'com.makeramen:roundedimageview:2.3.0'
testCompile 'junit:junit:4.12'
annotationProcessor 'com.jakewharton:butterknife-compiler:8.5.1'
compile 'com.github.thiagokimo:alexei-library:1.4'
 }

能力等级:

public class ContactSelectionActivity extends BaseActivity {

    @BindView(R.id.rv_selected)
    TwoWayView rvSelected;
    @BindView(R.id.rv_contactlist)
    RecyclerView rv_contactlist;
    @BindView(R.id.txtSelectContacts)
    TextView txtSelectContacts;
    @BindView(R.id.tv_title)
    EmojiconTextView tv_title;
    @BindView(R.id.tv_count)
    TextView tv_count;
    @BindView(R.id.mToolbar)
    View mToolbar;
    @BindView(R.id.btn_search)
    SearchView searchView;
    @BindView(R.id.btn_search_dummy)
    ImageView btnSearchDummy;
    SearchContactAdapter contactAdapter;
    ContactSelectionAdapter selectionAdapter;
    AnimationHelper animationHelper;
    int minCount;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_contact_selection);
        ButterKnife.bind(this);

        animationHelper = AnimationHelper.getInstance(this);
//        chatType = ChatType.getType(getIntent().getIntExtra("chatType", 1));

        doSearchRelatedStuff(); 
    }  

    @OnClick({R.id.btn_back})
    public void onClick(View v) {
        switch (v.getId()) {
            case R.id.btn_back:
                setResult(RESULT_CANCELED, null);
                finish();
                break;

        }
    }

    private void doSearchRelatedStuff() {
        searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
            @Override
            public boolean onQueryTextSubmit(String query) {
                return false;
            }

            @Override
            public boolean onQueryTextChange(String newText) {
                contactAdapter.filter(newText);
                return false;
            }
        });

        searchView.setOnSearchClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                btnSearchDummy.setVisibility(View.GONE);
                animationHelper.animateSearchToolbar(mToolbar, true, true);
            }
        });
        searchView.setOnCloseListener(new SearchView.OnCloseListener() {
            @Override
            public boolean onClose() {
                animationHelper.animateSearchToolbar(mToolbar, false, false);
                btnSearchDummy.setVisibility(View.VISIBLE);
                return false;
            }
        });
    }

    public void showSearchView(boolean show) {
        if (show) {
            searchView.setVisibility(View.VISIBLE);
        } else {
            searchView.setVisibility(View.GONE);
        }
    }


    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if (resultCode == RESULT_OK && data != null) {
            switch (requestCode) {
                case AppConstants.OPEN_ROOM_ACTIVITY:
//                    listSelectedContacts = data.getParcelableArrayListExtra("contactList");
//                    Intent intent = getIntent();
//                    intent.putExtra("name", data.getStringExtra("name"));
//                    intent.putParcelableArrayListExtra("contactList", listSelectedContacts);
                    setResult(RESULT_OK, data);
                    finish();
                    break;
            }

        }
    }
}

清单部分:

  <activity
        android:name=".activities.ContactSelectionActivity"
        android:screenOrientation="portrait"
        android:theme="@style/NoActionBar">

    </activity>

0 个答案:

没有答案