Xamairin形式:Android.Views.InflateException:<timeout exceeded =“”getting =“”exception =“”details =“”>

时间:2018-03-18 05:53:38

标签: xamarin.android inflate-exception

对这个问题进行了大量研究,并找到了同样的问题,这个问题并没有解决我的问题。所以开始一个新问题。 Xamarin Android: Android.Views.InflateException - Error when loading Layout

获取 Xamairin表单:Android.Views.InflateException:加载布局时超时获取异常详细信息。

Main.axml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" 
android:layout_height="match_parent"
android:background="#FFCDD2"
android:orientation="vertical">
<android.support.design.widget.TextInputLayout
    android:id="@+id/input_layout_name"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">
    <EditText
        android:id="@+id/input_name"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:singleLine="true"
        android:hint="@string/hint_name" />
</android.support.design.widget.TextInputLayout>
<android.support.design.widget.TextInputLayout
    android:id="@+id/input_layout_email"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">
    <EditText
        android:id="@+id/input_email"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:inputType="textEmailAddress"
        android:hint="@string/hint_email" />
</android.support.design.widget.TextInputLayout>
<android.support.design.widget.TextInputLayout
    android:id="@+id/input_layout_password"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">
    <EditText
        android:id="@+id/input_password"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:inputType="textPassword"
        android:hint="@string/hint_password" />
</android.support.design.widget.TextInputLayout>
<Button
    android:id="@+id/btn_signup"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="@string/btn_sign_up"
    android:background="@color/colorPrimary"
    android:layout_marginTop="40dp"
    android:textColor="@android:color/white" />
</LinearLayout>

我没有在我的axml中使用layout:width和layout:height属性,只使用了4kb大小的图标。

请提前解决此问题的解决方案......

2 个答案:

答案 0 :(得分:1)

  

获取Xamairin表单:Android.Views.InflateException:加载布局时超时会超出获取异常详细信息。

在使用TextInputLayout之前,有两件事需要确认:

  1. 请确保Xamarin.Android.Support.Design项目中正确引用了Xamarin.Android lib。如果您使用的是Xamarin.Forms,则默认情况下应该引用它。

  2. 请确保活动的类型为Android.Support.V7.App.AppCompatActivity

  3. 如果上述内容均无效,请提供可重现问题的基本演示。

    更新

    在您共享的项目上进行测试。我发现您需要为您的活动使用Theme.AppCompat主题,您可以按照以下步骤操作:

    1. 使用以下代码在styles.xml文件夹下创建Resources\values\文件:

      <?xml version="1.0" encoding="utf-8" ?> 
      <resources>
       <!-- Base application theme. -->
          <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
          </style>
      </resources>
      
    2. MainActivity.cs中定义Activity属性,以便像这样利用AppTheme

      [Activity(Label = "DinexFeedback", MainLauncher = true, Icon = "@drawable/icon",Theme ="@style/AppTheme")]
      public class MainActivity : Android.Support.V7.App.AppCompatActivity
      {
         ...
      
    3. 然后项目运行正常。

答案 1 :(得分:0)

未处理的异常:Android.Views.InflateException:

确保在Visual Studio中安装了必要的nuget软件包。

我在项目中使用了卡片视图,但由于未安装Xamarin.Android.Support.cardview,因此出现了此问题。

所以我们应该安装所有支持的nuget软件包,以便在这里使用卡视图来支持所有小部件。

单击项目-> Manage Nuget->检查已安装的软件包,如果尚未安装该软件包,则只​​需搜索特定的软件包然后下载。

于10/12/2018更新

检查布局是否所有布局字段均以大写字母开头。例如:在android中,我们使用小写字母,但在c#中,我们应该使用否则,它将引发inflate视图异常。