Activity SetContentView调用后的所有代码都不会执行(无异常或消息)

时间:2017-03-06 02:06:31

标签: android visual-studio xamarin xamarin.android

我有一个简单的启动Android应用程序,如下所示:

enter image description here

(以下所有文字代码)

代码永远不会遇到第一个断点。如果我在this.SetContentView(...)调用上设置断点,它将会命中(但仍然没有达到调用btnStart行)。此外,当我点击按钮时,根本没有任何事情发生。也没有例外。

我做错了什么?

编辑:我更进了一步,在收到btnStart之后立即添加了这行代码:

        btnStart.Text = "Abc";

它也没有执行。我意识到,在SetContentView之后,代码不再执行了!

MainActivity.cs的代码:

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

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

        var btnStart = this.FindViewById<Button>(Resource.Id.btnStart);
        btnStart.Click += (sender, e) =>
        {
            var txtContent = this.FindViewById<EditText>(Resource.Id.txtContent);
            var content = txtContent.Text;
            txtContent.Text = "Hello " + content;
        };
    }

布局main.axml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <Button
        android:text="Start"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/btnStart" />
    <EditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/txtContent" />
</LinearLayout>

1 个答案:

答案 0 :(得分:0)

您是否意识到axml文件是main.axml,并将contentview设置为this.SetContentView(Resource.Layout.Main)。尝试将axml文件名更改为Main.axml。然后它应该运行