我正在尝试使用这个图书馆https://github.com/jaiselrahman/FilePicker.当我使用以下代码启动活动时,我得到一个异常。
Intent intent = new Intent(getApplicationContext(), FilePickerActivity.class);
startActivityForResult(intent, FILE_REQUEST_CODE);```
解决此错误的方法是使用以下主题。AppCompat,我已经有了,但仍然得到相同的错误。
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/Theme.AppCompat">
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.mindedges.beephourly/com.jaiselrahman.filepicker.activity.FilePickerActivity}: android.view.InflateException: Binary XML file line #24: Binary XML file line #24: Error inflating class com.google.android.material.appbar.AppBarLayout
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 #24: Binary XML file line #24: Error inflating class com.google.android.material.appbar.AppBarLayout
Caused by: android.view.InflateException: Binary XML file line #24: Error inflating class com.google.android.material.appbar.AppBarLayout
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 androidx.appcompat.app.AppCompatDelegateImpl.setContentView(AppCompatDelegateImpl.java:469)
at androidx.appcompat.app.AppCompatActivity.setContentView(AppCompatActivity.java:141)
at com.jaiselrahman.filepicker.activity.FilePickerActivity.onCreate(FilePickerActivity.java:100)
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.IllegalArgumentException: The style on this component requires your app theme to be Theme.AppCompat (or a descendant).
at com.google.android.material.internal.ThemeEnforcement.checkTheme(ThemeEnforcement.java:240)
at com.google.android.material.internal.ThemeEnforcement.checkAppCompatTheme(ThemeEnforcement.java:211)
2019-12-08 12:48:24.552 26689-26689/com.mindedges.beephourly E/AndroidRuntime: at com.google.android.material.internal.ThemeEnforcement.checkCompatibleTheme(ThemeEnforcement.java:146)
at com.google.android.material.internal.ThemeEnforcement.obtainStyledAttributes(ThemeEnforcement.java:78)
at com.google.android.material.appbar.ViewUtilsLollipop.setStateListAnimatorFromAttrs(ViewUtilsLollipop.java:45)
at com.google.android.material.appbar.AppBarLayout.<init>(AppBarLayout.java:194)
at com.google.android.material.appbar.AppBarLayout.<init>(AppBarLayout.java:180)
... 28 more
My module gradle file:
apply plugin: 'com.android.application'
android {
compileSdkVersion 28
buildToolsVersion '28.0.3'
defaultConfig {
applicationId "com.mindedges.beephourly"
minSdkVersion 23
targetSdkVersion 28
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
}
dependencies {
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
implementation files('libs/AppRate_1.1.jar')
//implementation 'com.google.android.gms:play-services-ads:17.0.0'
implementation 'com.github.jayschwa:AndroidSliderPreference:v1.0.1'
implementation 'com.google.firebase:firebase-core:17.2.1'
implementation 'com.google.firebase:firebase-ads:17.0.0'
implementation 'com.google.firebase:firebase-messaging:17.3.3'
implementation 'com.google.firebase:firebase-iid:17.0.0'
implementation 'com.android.billingclient:billing:1.2'
implementation 'androidx.appcompat:appcompat:1.0.0'
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
implementation 'com.codemybrainsout.rating:ratingdialog:1.0.8'
//implementation 'com.google.android.material:material:1.0.0'
implementation 'com.google.android.material:material:1.1.0-alpha03'
implementation 'androidx.lifecycle:lifecycle-extensions:2.0.0'
implementation 'com.github.jaiselrahman:FilePicker:1.3.0'
implementation 'com.android.support:multidex:1.0.3'
}
apply plugin: 'com.google.gms.google-services'
可能您在模块级构建中缺少
材料
库。格雷德尔
implementation 'com.google.android.material:material:1.1.0-alpha03'
不要将support
库与AndroidX
混合使用。使用AndroidX
版本的multidex
implementation 'androidx.multidex:multidex:2.0.1'
问题在这里:
Intent intent = new Intent(getApplicationContext(), FilePickerActivity.class);
您必须将活动
作为上下文传递,而不是getApplicationContext()
应用程序上下文没有应用程序主题。
以下是我的依赖关系 我的布局。xml 上面的代码对我来说工作正常 但是当我更新
我试图做一个MaterialAlertDialog,但无论发生什么,我都会出现以下错误 我使用一个自定义主题作为我的主要活动主题,它是MaterialComponents的父级 将主题更改为AppCompat没有任何帮助,也不是真正正确的做法。我正在按照Material IO的解释进行实施https://material.io/develop/android/components/dialog/
使用AppCompat并使用min sdk版本21,我尝试使用ChipDrawable在TextEdit中的电子邮件地址列表中使用,并且我使用以下方式创建了ChipDrawable: 使用这个xml: 我的主题使用(我还尝试了) 但我总是会犯这样的错误: 我尝试了我在stackoverflow上找到的所有东西,但没有多大帮助。 这是我的风格 这是我的一部分成绩
我在使用TextInputLayout实现材质设计时遇到了问题,我知道解决方案是让您的活动主题继承材质组件主题之一,但这会给我的大多数应用程序主题带来这样的变化,并且需要更多时间来重构它。我想要的是仅针对应用程序上的特定TextInputLayout进行材质设计。 这就是我试过的 错误:
但当我运行:Caused by:java.lang.IllegalStateException时:您需要将一个theme.AppCompat主题(或后代)与此活动一起使用。 我不明白,谢谢^^
尽管我们一直在努力使 Flarum 变得尽可能美丽,但每个社区可能都希望进行一些调整/修改,以适合他们所需的风格。 管理面板 的「外观」页面是开始定制论坛的理想之地。在这里,您可以: 选择主题颜色 切换夜间模式和彩色导航栏。 上传标志和站点图标(浏览器标签中显示的图标)。 在自定义页眉和页脚添加 HTML。 添加 自定义LESS/CSS 来改变元素的显示方式。 CSS 是一种样式表语言,它告诉浏览