我正在使用Xamarin开发应用程序。

我有三个 Activity , DiallerActivity ContactsActivity SplashActivity -以及两个.axml布局,Main.axml和Contacts.axml

首次加载 SplashActivity 会在启动应用程序时显示启动屏幕,完成后会加载 DiallerActivity ,此显示我的 Main.axml 布局-可以正常工作。

在我的 Main.axml 布局中,我有一个按钮,单击该按钮将加载 ContactsActivity ,然后应加载 Contacts.axml ,该按钮内部仅包含3个按钮和一个标签。.没有一个被编程为执行任何操作。

问题是单击该按钮时,显示变为空白屏幕,仍然在屏幕顶部显示android栏。它只是不显示.axml文件中的任何内容。

我需要在 Activity 运行时显示 Contacts.axml 布局。我希望我已经澄清了这一点。我当前的代码如下。

DiallerActivity的代码

protected override void OnCreate (Bundle bundle)
    {
        base.OnCreate (bundle);

        // Set our view from the "main" layout resource
        SetContentView (Resource.Layout.Main);

Button btnAcceptClick = FindViewById<Button> (Resource.Id.btnAccept);

btnAcceptClick.Click += delegate {
            StartActivity (typeof(VoWiFiApplicationFinal.ContactsActivity));
        };

联系人 Activity 代码
public class ContactsActivity : Activity
{
    protected override void OnCreate (Bundle bundle)
    {
        base.OnCreate (bundle);

        // setting the contacts.axml as the view
        SetContentView (Resource.Layout.Contacts);
    }
}

有谁知道为什么不显示Contacts.axml?如果您需要我提供更多信息,请说出来,我将其介绍给您。.顺便说一下,我使用 C#作为我的语言,因此,即使它适用于以下问题,我也希望与此相关的帮助头脑。谢谢阅读。

Contacts.xaml代码
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<LinearLayout
    android:layout_width="fill_parent"
    android:id="@+id/toptest"
    android:layout_height="wrap_content"
    android:orientation="horizontal">
    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:id="@+/label1"
        android:text="testlabel" />
</LinearLayout>
<LinearLayout
    android:layout_width="fill_parent"
    android:id="@+id/testagain"
    android:layout_height="wrap_content"
    android:orientation="horizontal" />
<LinearLayout
    android:layout_width="fill_parent"
    android:id="@+id/menuBar"
    android:layout_height="wrap_content"
    android:orientation="horizontal">
    <Button
        android:layout_width="fill_parent"
        android:text="ACCEPT"
        android:id="@+id/btnAccep"
        android:layout_height="wrap_content"
        android:layout_weight="1" />
    <Button
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:id="@+id/btnDeclin"
        android:layout_weight="1"
        android:text="DECLINE" />
    <Button
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:id="@+id/btntes"
        android:layout_weight="1"
        android:text="TEST" />
</LinearLayout>
</LinearLayout>

最佳答案

Xamarin中似乎有一个错误。来回重命名.axml文件并尝试在values\strings.xml中使用字符串时,我也得到了一个空白屏幕(操作栏除外),有时为它们提供与.axml文件相同的名称。虽然不确定字符串是否与它有任何关系,但是我记得在一点编译时会遇到某种错误。

无论如何,对我来说解决方案是

  • 备份.axml文件的内容并完全删除该文件。
  • 使用不同于原始名称的其他名称创建一个新的.axml文件。
  • 将备份的内容粘贴到新文件中。
  • 将新文件重命名为旧名称。

  • 之后,我进行了一次测试,然后一切又恢复了。

    09-08 06:27