由于androidx抽屉布局而导致的错误

时间:2019-03-05 12:16:54

标签: java android

  

java.lang.RuntimeException:无法启动活动ComponentInfo {com.example.cn/com.example.cn.MainActivity}:android.view.InflateException:二进制XML文件第2行:二进制XML文件第2行:膨胀类android.support.v4.widget.DrawerLayout时出错

req = requests.request('GET', "https://smartraveller.gov.au/countries/documents/index.rss")
a = str(req.text).encode()
tree = etree.fromstring(a)

ns = {'TravelAd': 'https://smartraveller.gov.au/countries/documents/index.rss',
          'ta': 'http://www.smartraveller.gov.au/schema/rss/travel_advisories/'}

    e = tree.findall('{0}channel/{0}item/{0}warnings/{0}level'.format(ns))
    for i in e:
        print(i.text)

app

'''

<?xml version="1.0" encoding="utf-8"?>  
<androidx.drawerlayout.widget.DrawerLayout  
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:id="@+id/drawable_layout"  
android:layout_width="match_parent"  
android:layout_height="match_parent"  
android:paddingLeft="10dp"  
android:paddingBottom="5dp"  
tools:context="com.example.cn.MainActivity"  
android:paddingStart="10dp"  
tools:ignore="RtlSymmetry">  

'''

3 个答案:

答案 0 :(得分:0)

检查是否已添加依赖项。

dependencies {
   implementation 'com.android.support:appcompat-v7:28.0.0'
   implementation 'com.android.support:design:28.0.0'
}

然后使用标记android.support.v4.widget.DrawerLayout。

答案 1 :(得分:0)

我认为您已经在java类或kotlin类中定义了v4版本的抽屉布局。 那就是为什么它给你错误

答案 2 :(得分:0)

错误很明显。您在Android Support Libraries中使用dependencies,但是在layout中您尝试使用androidx

例如:

Android支持Libray: com.android.support:appcompat-v7

AndroidX: androidx.appcompat:appcompat:1.0.0

因此,您有两个选择之一,或者继续使用Android Support Libraries,这意味着您需要将DrawerLayout重命名为<android.support.v4.widget.DrawerLayout或将项目升级到AndroidX

要进行升级,您可以通过Refactor -> Migrate to AndroidX从Android Studio中进行升级。

如果您决定使用这种方式,请遵循Android Studio提供的建议,它将zip进行您的项目,然后进行升级。这意味着您可以始终在升级AndroidX之前返回项目。

  

升级后,并非所有功能都可以正常工作   也许需要手动调整。

或手动:https://developer.android.com/jetpack/androidx/migrate