Visualizzazione stampabile
-
inanzitutto grazie ancora , non ricordo più quanti ringraziamenti ti ho scritto , ma non bastano .:)
Quote:
Intanto potresti cominciare a infilare qualche riga di log e vedere cosa delle due ritorna null.
mi puoi linkare come fare , solo un es così inizio a controllare ... ;) nel mentre controllo il file main.xml e r.java .buona serata
edit : girando nel programma , ho notato che c'e lopzione per richiamare il logcat , con quest'ultima si riesce a capire un po' meglio rispetto che dos http://img413.imageshack.us/img413/4...neclipt.th.jpg continuo a guardare ... ciao
-
Quote:
Originariamente inviato da
al3x88
inanzitutto grazie ancora , non ricordo più quanti ringraziamenti ti ho scritto , ma non bastano .:)
In realtà mi diverto, avrò la vocazione del maestrino:p
Quote:
Originariamente inviato da
al3x88
mi puoi linkare come fare , solo un es così inizio a controllare ... ;) nel mentre controllo il file main.xml e r.java .buona serata
Allora, in cima alla classe, dove ci sono tutti gli import metti:
Dopodiché, in mezzo al codice, dove vuoi vedere cosa capita, diciamo, puoi scrivere:
Questa scritta verrà stampata nel catlog come le eccezioni...
Quindi, per esempio, dopo:
Puoi mettere
E fare una cosa del genere pure dopo aver recuperato il Drawable.
In questo modo puoi circoscrivere il punto del codice in cui tutto va a signorine.
Ricorda, print è il debug universale :p
Quote:
Originariamente inviato da
al3x88
Parli di Eclipse?
Ah, questi programmatori moderni cresciuti nella bambagia, che non sopravvivono senza testo colorato. A lavorare in vi da terminale puro vi manderei ;)
-
Quote:
Originariamente inviato da
al3x88
inanzitutto grazie ancora , non ricordo più quanti ringraziamenti ti ho scritto , ma non bastano .:) mi puoi linkare come fare , solo un es così inizio a controllare ... ;) nel mentre controllo il file main.xml e r.java .buona serata
edit : girando nel programma , ho notato che c'e lopzione per richiamare il logcat , con quest'ultima si riesce a capire un po' meglio rispetto che dos
http://img413.imageshack.us/img413/4...neclipt.th.jpg continuo a guardare ... ciao
Ma se stai usando eclipse non fai prima ad avviare l'applicazione in debug e seguire passo passo per vedere dove si inceppa?!? risparmieresti un sacco di tempo...
-
Quote:
Originariamente inviato da
Orochi
Ma se stai usando eclipse non fai prima ad avviare l'applicazione in debug e seguire passo passo per vedere dove si inceppa?!? risparmieresti un sacco di tempo...
Ehm... vero... si fa anche così :-[
E' che io sono un cultore della programmazione spartana :-[
-
ciao a tutti ... oggi appena avro un momento libero proverò in entrambi i metodi ... grazie ancora :) ciao
ps: x cymon -
Quote:
Parli di Eclipse?
Ah, questi programmatori moderni cresciuti nella bambagia, che non sopravvivono senza testo colorato. A lavorare in vi da terminale puro vi manderei
roftl roftl
-
Quote:
Originariamente inviato da
Cymon
Parli di Eclipse?
Ah, questi programmatori moderni cresciuti nella bambagia, che non sopravvivono senza testo colorato. A lavorare in vi da terminale puro vi manderei ;)
No, ti prego! Facci usare almeno Notepad! roftl roftl roftl
-
Quote:
Originariamente inviato da
Orochi
No, ti prego! Facci usare almeno Notepad! roftl roftl roftl
Uè, seriamente, io uso vi (gVim) come editor principale :)
-
eccomi dinuovo qui ... :) allora oggi ho provato entrambi i modi , inizio con il metodo (+ lungo ) :)
ho inserito l'import e dopo imge... il codice è viene fuori questo nel logcat http://img841.imageshack.us/img841/6...uzione1.th.jpg
---
dopodiche ho provato a mettere il codice leggermetne modificato
Quote:
if( drawable == null)
{
Log.d("ClipDrawableTest", "Ehi, l'imageview è vuoto! Che male!");
}
così
Quote:
package it.apogeo.android.cap03.cliptest;
import android.app.Activity;
import android.os.Bundle;
import android.graphics.drawable.ClipDrawable;
import android.widget.ImageView;
import android.util.Log;
public class ClipTestActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
ImageView imageview = (ImageView) findViewById(R.id.image);
ClipDrawable drawable = (ClipDrawable) imageview.getDrawable();
if( drawable == null)
{
Log.d("ClipDrawableTest", "Ehi, l'imageview è vuoto! Che male!");
}
drawable.setLevel(drawable.getLevel() + 1000);
ricompilato e fatto installare sull'emulatore sdk , e quando ho fatto partire l'applicazione nel logcat è arrivato
http://img39.imageshack.us/img39/724...uzione2.th.jpg
ho forse sbagliato nella modifica del codice o c'e proprio un errore dopo il codice
Quote:
ClipDrawable drawable = (ClipDrawable) imageview.getDrawable();
??
per quanto riguarda il debug con eclipse non sono riuscito a capire bene come funziona , mi spiego . in eclipse vado nella finsestra "package explorer " clicco con tasto destro sul file "ClipTestTest9" poi "debug as" quindi apro la finestra debug non mi appare nulla , anzi mi crea una stringa dovce c'e scritto solo "ClipTestTest9 [Android JUnit Test]" solo nella finsetra "log cat " si vede quello che succede . sicuramente sbaglio qualcosa ... ciao , nel mentrwe vado a cercare info su internet ...
-
Quote:
Originariamente inviato da
al3x88
ho forse sbagliato nella modifica del codice o c'e proprio un errore dopo il codice ??
La modifica è corretta e infatti adesso il codice lamenta che l'imageview che cerchi di popolare con il ClipDrawable è nullo.
La successiva invocazione sulla ClipDrawable a questo punto porta alla NullPointerException che fa scoppiare tutto.
Quindi la
ImageView imageview = (ImageView) findViewById(R.id.image);
evidentemente non va a buon fine.
Secondo me devi ricontrollare il main.xml e assicurarti che ci sia qualcosa di recuperabile dal metodo...
-
ciao , allora ricontrollando
codice:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
/>
<ImageView
android:id="@+id/image"
android:background="@drawable/clip"
android:layout_height="wrap_content"
android:layout_width="wrap_content" />
</LinearLayout>
(da nubbio non mi sembra che ci siano problemi ) l'android:id riporta l'id impostato anche nel file cliptestactivity.java
codice:
ImageView imageview = (ImageView) findViewById(R.id.image);
ed in r.java
codice:
/* 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 it.apogeo.android.cap03.cliptest;
public final class R {
public static final class attr {
}
public static final class drawable {
public static final int android=0x7f020000;
public static final int clip=0x7f020001;
public static final int icon=0x7f020002;
}
public static final class id {
public static final int image=0x7f050000;
}
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;
}
}
in android:background è impostato clip inquanto se inserissi l'immagine stessa cioe android:background:android viene subito caricata invece che passare per il file clip.xml dove dentro c'e
codice:
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:drawable="@drawable/android"
android:clipOrientation="horizontal"
android:gravity="left" />