2016-03-12 8 views
7

Aggiunta di altri cs attività e layout AXML Utilizzando Visual Studio 2015.Visual Studio 2015 - Xamarin - Android - Ottenere "resource.id non contiene una definizione per xxx" quando provo a fare qualcosa nei cs file di

sono molto di nuovo da Xamarin e sviluppo Andorid, ma sono stato uno sviluppatore per alcuni anni utilizzando vb e ora C#. Ho una semplice app su Android 4.2 che diventa sempre più complicata man mano che procedo. La semplice questione è che voglio aggiungere un ulteriore GpsAction.cs e il corrispondente layout Gps.axml al progetto. Sembra impossibile trovare la giusta sillaba di compinazione per ottenere questo risultato. Ho un mainActivity con main.axml. In VS 2015 è molto semplice per aggiungere nuovi, ma continuo a ricevere "" resource.id non contiene una definizione di "Vorrei davvero apprezzare il vostro aiuto con questo

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 
    } 
} 
+0

Xamarin è notoriamente bacato, soprattutto con i layout. Fare una ricostruzione completa e vedere se questo aiuta. –

+0

Pubblica il tuo axml. – Gusman

+0

Hai ragione, Sami, stavo pulendo e ricostruendo più e più volte. Quindi stamattina ho effettuato l'accesso e ho notato che non ho avuto errori. Quindi ora sono pazzo di curiosità e devo scoprire cosa ho fatto bene. Si scopre che se ho cambiato il campo di testo "id" salvato, ricostruito e cambiato di nuovo lo ha risolto. Sto segnando la tua risposta corretta. Grazie mille - la sventura ama la compagnia –

risposta

3

ho cambiato il campo di testo 'id' da" @ + id/imageView1" a "1", salvato, ricostruito e cambiato di nuovo a "@ + id/imageView1" è riparato. Vorrei aggiungere, tutto questo problema è venuto da

    1. Aggiunta di una nuova attività e layout
    2. Utilizzo di codice preesistente da un'altra app che avevo.
    3. Copia e incolla il codice dall'app originale alla nuova attività e layout.

Tutta roba abbastanza comune, il vero problema sembrava sempre essere l'aggiunta di eventuali nuove attività e layout a un'attività principale. Può diventare molto contorto e senza alcun (noto a me) modo logico per risolvere un problema con Xamarin. Non fraintendermi rispetto a 10 anni fa (l'ultima app mobile che ho provato a scrivere) Xamarin è il paradiso. Brava gente di codifica, ora se riesco a capire il motivo per cui solo Chiave "questo" è l'errore-ring sul aggiunto Activity.cs

+0

Grazie amico, ha funzionato. eccezionale. –

1

Basta aggiungere namespace come quello Android.Resource.Id - è risolvere per me

+0

Grazie mille! Ho appena aggiunto l'ID della classe parziale pubblica {} nella risorsa di classe e ho ricostruito il progetto. Ora tutto 'Resource.Id .____' funziona bene – Pavel

0

Cancellata la pagina Main.axml e resetta e funziona.

0

Per le persone che stanno ancora affrontando questo problema, l'azione predefinita Creazione azione del file di layout sarà impostata su TransformFile. Seleziona il layout, vai a Proprietà layout e, nel riquadro delle proprietà, seleziona AndroidResource come azione Build. Pulisci crea il tuo progetto e dovrebbe funzionare.

0

La soluzione migliore che ho trovato è quella di costruire una soluzione. Scegli soluzione Corporatura dal menu Genera (o Ctrl +Maiusc +B). Questa azione risolverà il problema.

0

È necessario aggiungere il valore impostato per android:id="@+id/button1" in axml dell'app, quindi ricostruire il progetto e riprovare. piace questo Button button = (Button)FindViewById(Resource.Id.button1);.

Problemi correlati