Newsgroup: it.comp.java
Titolo: problema eclipse android classe R.id.

intanto grazie per l'attenzione
premetto che non sono un'esperto
volendo avvicinarmi alla programmazione con android
sulla rete ho trovato diverso materiale, sia guide che
video tutorial.
 
Dope aver installato
eclipse-java-indigo-SR1-win32.zip e android-sdk_r15-windows.zip
ho eseguito le istruzioni di configurazione per poter realizzare
applicazioni android, e fino a qui tutto bene.
 
i problemi sono iniziati con l'utilizzo della classe "R.id.nome"
contenuta nella cartella "gen" (generated Java Files)
dove non viene generata automaticamente l'istruzione
public static final class id {
 
public static final int autotxt1=0x7f050000;
 
e che ho dovuto forzare la scrittura manualmente, pena
 
segnalazione di errore e impossibile esecuzione dell'applicazione
 
Dai tutorial e guide fino ad'ora viste questo problema
 
sembra non esistere, mistero.
 
che fare ?
 
saluti
 
JS
 
 

 e che ho dovuto forzare la scrittura manualmente, 
 
Forzare la scrittura nel senso che è una directory o file protetto da 
scrittura?
 
Carica un progetto di esempio da qualche parte così vediamo se è 
riproducibile.

 scrittura?
 
allora vediamo in dettaglio:
 
quando si inizia una nuova applicazione android, eclipse
genera delle cartelle, di cui quelle in esame si presentano così:
 
----------------cartella gen--------------------------
/* AUTO-GENERATED FILE.  DO NOT MODIFY.
 *
 * This class was automatically generated by the
 * aapt tool from the resource data it found.  It
 * should not be modified by hand.
 */
 
package js.pak.pbuton;
 
public final class R {
    public static final class attr {
    }
    public static final class drawable {
        public static final int ic_launcher=0x7f020000;
    }
    public static final class layout {
        public static final int main=0x7f030000;
    }
    public static final class string {
        public static final int app_name=0x7f040001;
        public static final int hello=0x7f040000;
    }
}
***************************************
come si può notare riporta l'avvertenza di non modificare questa sezione
 
------------------cartella src------------------------
package js.pak.pbuton;
 
import android.app.Activity;
import android.os.Bundle;
 
public class PButtonActivity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }
}
*****************************************
qui va il codice java
 
-------------------cartella layout---------------------
<?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" >
 
    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="@string/hello" />
 
</LinearLayout>
*******************************************************
questa è l'interfaccia grafica di comunicazione con l'utente
 
questo è quello che otteniamo all'inizio di ogni nuovo progetto
 
ora, seguendo la guda,
 
inserisco un pulsante, prima su
 
-------------------cartella layout---------------------
<?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" >
 
    <Button
        android:id="@+id/btnprova"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Premi" />
 
</LinearLayout>
 
poi inserisco il codice su
 
------------------cartella src------------------------
package js.pak.pbuton;
 
import android.app.Activity;
import android.os.Bundle;
import android.widget.Button;
 
public class PButtonActivity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        Button btnvis = (Button)this.findViewById(R.id.btnprova);
        btnvis.setOnClickListener(new OnClickListner(){)
        @Override
        public void onClick(View arg0){
        }
});
 
*********************************************************
risultato errori da tutte le parti in particolare
nella cartella "gen" non è stata generata automaticamente
la dichiarazione "R.id.btnprova"
 
ed è qui che devo forzare le istruzioni non autogenerate
 
spero di essermi spiegato meglio
 
grazie ancora per l'attenzione
 
JS 
 
 

Volevo informare che
Ho risolto, riavviando eclipse inquanto al riavvio
esegue correttamente l'autogenerazione del codice
nella sezione "gen".
 
Non so se sia corretto cos� ma funziona
 
saluti
 
JS 
 
 

 Non so se sia corretto così ma funziona
 
Come ti ho scritto c'era un bug nel plugin ADT per cui si doveva 
eseguire il comando build due o tre volte, non è necessario riavviare
 Eclipse.

 Eclipse.
 
Probabilmente non ho spiegato bene quale era il problema
in ogni caso ho trovato un link dove viene trattato con chiarezza
http://www.androidiani.com/forum/iniziare-programmare-android/17345-eclipse-adt-file-r-java-non-aggiornato-o-cmq-qualcosa-non-va-nel-verso-giusto.html
 
e di conseguenza si evince la causa e la soluzione adottata
 
grazie per l'attenzione
 
JS
 
 

> Eclipse.
 
Il problemasi pone nel momento in cui un file xml modificato non venga 
interpretato correttamente dal sistema, e quindi non viene generata il 
file R.java. Senza la necessità di riavviare eclipse.