使用Visual Studio 2015添加其他活动.cs和布局axml。
我是Xamarin和Android开发的新手,但是使用VB和现在的C#几年来一直是开发人员。我在Android 4.2上有一个简单的应用程序,随着我的进展变得越来越复杂。简单来说,我想在项目中添加额外的GpsAction.cs和相应的Gps.axml布局。似乎无法找到正确的组合语法来实现这一目标。我有一个带main.axml的mainActivity。在VS 2015中添加新内容非常简单,但我不断获取“resource.id不包含”的定义“我非常感谢您对此的帮助
namespace AddCam
{
[Activity(Label = "GpsActivity")]
public class GpsActivity : Activity
{
protected override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
SetContentView(Resource.Layout.GpsLayout);
string c = FindViewById<TextView>(**Resource.Id.textView1**).Text;
// Create your application here
}
}
对于仍然面临此问题的人,布局文件的默认构建操作将设置为TransformFile
。选择布局,转到布局属性,然后在属性窗格中,选择AndroidResource
作为构建操作。清理构建您的项目,它应该工作。
确保您的axml良好形成并重建它应该工作的解决方案,如果您继续面临同样的问题,然后删除axml并再次添加它然后构建解决方案。
检查Resource.Designer类文件。会有像public partial class Id
这样的课程。在那里写入控件的整数ID。使用它们而不是Resource.Id
我将文本字段“id”从“@ + id / imageView1”更改为“1”,保存,重建并将其更改回“@ + id / imageView1”它修复了它。我想补充一下,整个问题来自于
所有相当常见的东西,真正的问题似乎总是在主活动中添加任何新的活动和布局。它可以变得非常复杂,并且没有(我已知)合理的方式来解决Xamarin的问题。与10年前(我试图写的最后一个移动应用程序)相比,不要误会我的意思Xamarin是天堂。好的编码人员,现在如果我只能弄清楚为什么关键字“this”在添加的Activity.cs上是错误的
只需添加类似Android.Resource.Id的命名空间 - 这对我来说很有帮助
什么对我有用(Visual Studio 2017,打开旧的Xamarin项目):
现在资源将可见(当然,如果你正确定义它)。
你应该在app的axml中添加android:id="@+id/button1"
的设定值,然后重建项目并再试一次。喜欢这个Button button = (Button)FindViewById(Resource.Id.button1);
。
清除了Main.axml页面并重置,它正在运行。
我发现的最佳解决方案是构建解决方案。从Build菜单中选择Build solution(或Ctrl + Shift + B)。此操作将解决此问题。
我的问题是我试图使用Xamarin Live Player调试Xamarin Android项目(本机),使用USB线连接并选择我的设备进行调试解决了问题
检查布局文件中是否缺少这些名称空间 -
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"