Salve, ho un problema di programmazione molto semplice ma che mi sta facendo uscire di testa.
Ho comprato il libro di Massimo Carli sulla programmazione con Android e al capitolo 3 c'è un esempio di uso dei colori. Sull'esempio viene spiegato come cambiare il colore di sfondo del LinearLayout principale. Ho modificato il codice in modo che venga fatto in automatico all'avvio invece che farlo prima della compilazione:
File ResourceColorActivity.java
File R.javacodice:package it.apogeo.android.cap03.resourcecolor; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.widget.LinearLayout; public class ResourceColorActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); LinearLayout l = (LinearLayout) findViewById(R.layout.main); int rosso_tra = getResources().getColor(R.color.red_transparent); l.setBackgroundColor(rosso_tra); } }
File colors.xml (specifica i colori)codice:package it.apogeo.android.cap03.resourcecolor; public final class R { public static final class attr { } public static final class color { public static final int blue=0x7f040002; public static final int green=0x7f040001; public static final int red=0x7f040000; public static final int red_transparent=0x7f040003; } public static final class drawable { public static final int icon=0x7f020000; } public static final class layout { public static final int main=0x7f030000; } public static final class string { public static final int app_name=0x7f050001; public static final int hello=0x7f050000; public static final int label=0x7f050002; } }
Il programma compila e parte ma all'avvio ottengo una schermata di errore intitoolata "Sorry" e che riporta questo messaggio:codice:<?xml version="1.0" encoding="utf-8"?> <resources> <color name="red">#ff0000</color> <color name="green">#00ff00</color> <color name="blue">#0000ff</color> <color name="red_transparent">#66ddccdd</color> </resources>
Ho scoperto che se commento la rigaThe application ResourceColor (process it.apogeo.android.cap03.resourcecolor) has stopped unexpectedly. Please try again.
nel file ResourceColorActivity.java l'errore scompare ma ovviamente l'applicazione non fa nulla.codice:l.setBackgroundColor(rosso_tra);
Qualcuno sa dirmi perchè si verifica questo errore?
Uso Eclipse con ADT e un simulatore froyo (Android 2.2 - API Level 8).

LinkBack URL
About LinkBacks
Rispondi quotando

! in quel caso dovevi usare comunque R.id.main 
