Ajout d'activités .cs et Layout axout supplémentaires à l'aide de Visual Studio 2015.
Je suis très nouveau dans le développement Xamarin et Android, mais je suis développeur depuis quelques années en utilisant VB et maintenant en C #. J'ai une application simple sur Android 4.2 qui devient de plus en plus compliquée à mesure que je progresse. Le simple problème que nous voulons, c'est que je veuille ajouter un fichier GpsAction.cs supplémentaire et la présentation Gps.axml correspondante au projet. Il semble impossible de trouver la bonne syntaxe de combinaison pour y parvenir. J'ai une mainActivity avec main.axml. Dans VS 2015, il est très simple d’ajouter de nouveaux éléments, mais je continue d’obtenir "resource.id ne contient pas de définition de". J'apprécierais vraiment votre aide pour cela.
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
}
}
Pour les personnes toujours confrontées à ce problème, la valeur Action de construction par défaut du fichier de présentation est définie sur TransformFile
. Sélectionnez la disposition, accédez à Propriétés de la disposition et, dans le volet des propriétés, sélectionnez AndroidResource
comme action de construction. Nettoyez votre projet et ça devrait marcher.
J'ai changé le champ de texte "id" de "@ + id/imageView1" en "1", je l'ai enregistré, reconstruit et je l'ai remplacé par "@ + id/imageView1". Je voudrais ajouter que tout ce problème vient de
Tout ce qui est commun, le vrai problème semble toujours être d’ajouter de nouvelles activités et mises en page à une activité principale. Cela peut devenir très compliqué et sans aucun moyen logique (connu de moi) de résoudre un problème avec Xamarin. Ne vous méprenez pas par rapport à il y a 10 ans (la dernière application mobile que j'ai essayé d'écrire) Xamarin, c'est le paradis. Bon codeurs, maintenant, si je peux seulement comprendre pourquoi le mot-clé "this" est une erreur de sonnerie sur le fichier Activity.cs ajouté
Ajoutez simplement un espace de noms comme celui-ci Android.Resource.Id - c'est résolu pour moi
Vous devriez ajouter la valeur définie pourAndroid:id="@+id/button1"
dans axml de l'application, puis reconstruire le projet et essayer à nouveau . Comme thisButton button = (Button)FindViewById(Resource.Id.button1);
.
Qu'est-ce qui a fonctionné pour moi (Visual Studio 2017, ouverture d'un ancien projet Xamarin):
Maintenant, la ressource sera visible (bien sûr, si vous l'avez définie correctement).
Mon problème était que j'essayais de déboguer un projet Xamarin Android (natif) à l'aide de Xamarin Live Player, en me connectant à l'aide d'un câble USB et en sélectionnant mon périphérique pour le débogage, ce qui a résolu le problème.
Vérifiez si ces espaces de noms sont manquants dans votre fichier de présentation -
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"
La meilleure solution que j'ai trouvée est de construire la solution. Choisissez Build solution dans le menu Build (ou Ctrl+Shift+B). Cette action va résoudre le problème.
Effacé la page Main.axml et réinitialiser et cela fonctionne.