Aller au contenu

Recommended Posts

Posté(e) (modifié)

Salut,

Voila, j'ai un probleme :

package com.enigme.myclasses;

import android.app.Activity;

import android.app.ListActivity;

import android.content.Context;

import android.content.Intent;

import android.content.SharedPreferences;

import android.os.Bundle;

import android.preference.PreferenceManager;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.ArrayAdapter;

import android.widget.Button;

import android.widget.TableLayout;

import android.widget.Toast;

public class Profil extends ListActivity {

String nom = "Android";

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setListAdapter(new ArrayAdapter(this,

android.R.layout.simple_list_item_1, mStrings));

getListView().setTextFilterEnabled(true);}

private String[] mStrings = {nom};

Ce code source marche parfaitement mais celui ci plante :

package com.enigme.myclasses;

import android.app.Activity;

import android.app.ListActivity;

import android.content.Context;

import android.content.Intent;

import android.content.SharedPreferences;

import android.os.Bundle;

import android.preference.PreferenceManager;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.ArrayAdapter;

import android.widget.Button;

import android.widget.TableLayout;

import android.widget.Toast;

public class Profil extends ListActivity {

SharedPreferences util = PreferenceManager.getDefaultSharedPreferences(this);

String nom = util.getString("nom", null);

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setListAdapter(new ArrayAdapter(this,

android.R.layout.simple_list_item_1, mStrings));

getListView().setTextFilterEnabled(true);}

private String[] mStrings = {nom};

Pourquoi?? J'utilise juste SharedPreference a la place d'une variable String.

Modifié par DevAndroid
Posté(e)

String nom = util.getString("nom", "");

:-p

Tu aurais trouvé ta solution en regardant le LogCat ( outil indispensable) qui t'affichera un nullpointerexception.

En gros, un champs de texte vide et 'null' sont deux choses totalement différentes.

Posté(e) (modifié)

Desoler mais la modif ne change rien

Jai pourtant effectuer ta modification

package com.enigme.myclasses;

import android.app.Activity;

import android.app.ListActivity;

import android.content.Context;

import android.content.Intent;

import android.content.SharedPreferences;

import android.os.Bundle;

import android.preference.PreferenceManager;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.ArrayAdapter;

import android.widget.Button;

import android.widget.TableLayout;

import android.widget.Toast;

public class profil extends ListActivity {

SharedPreferences util = PreferenceManager.getDefaultSharedPreferences(this);

String nom = util.getString("nom", "");

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setListAdapter(new ArrayAdapter(this,

android.R.layout.simple_list_item_1, mStrings));

getListView().setTextFilterEnabled(true);}

private String[] mStrings = {nom};

}

Modifié par DevAndroid
Posté(e)

Bonjour,

Je n'ai pas encore les automatiques pour voir les erreurs de syntaxe et autre mais si tu pouvais nous poster le contenu du LogCat on en saura plus je pense.

Posté(e)

peut-être mettre String nom = util.getString("nom", "nimportequoi");

Sinon, je plussoie le logcat, c'est un outil indispensable à tout dev. Ca fait partie d'Eclipse et tu devrais le trouver facilement.

Posté(e) (modifié)

Alors, la comme ça je n'ai pas d'idée.

MAIS, pendant mes heures de debug ces derniers jours, je me suis rendu compte que pour afficher le LogCat sur un de mes problèmes je devait relancer l'application à partir de l'émulateur avec le LogCat derrière (en gros tu clique pour forcer la fermeture et tu vas dans le menu de ton émulateur pour relancer l'application).

Si il y a une erreur il va forcement l'indiquer, sans ces informations je ne vois pas comment t'aider.

Edit : Par contre par curiosité pourquoi voit-on que tes "imports" (?) sont en warning (soulignés en jaune/orange)?

Modifié par Bagahe
Posté(e) (modifié)

J'ai essayer, sa marche toujours pas , mais il faut pas le configurer le LogCat??

Voila ce que me dit "Console" quand j'affiche le LogCat:

[2010-06-15 12:03:04 - Logcat]device (emulator-5554) request rejected: device not found

java.io.IOException: device (emulator-5554) request rejected: device not found

at com.android.ddmlib.AdbHelper.setDevice(Unknown Source)

at com.android.ddmlib.AdbHelper.executeRemoteCommand(Unknown Source)

at com.android.ddmlib.Device.executeShellCommand(Unknown Source)

at com.android.ddmuilib.logcat.LogPanel$3.run(Unknown Source)

Edit: mes import son en warning parce que je ne les utilisent pas mais sa n'influe pas sur l'application

Modifié par DevAndroid
Posté(e)

Dans le LogCat, les erreurs apparaissent en rouge.

Tu as des filtres au dessus de l'onglet :

Essaye de voir ce qu'il te marque quand tu clique sur "E"

Posté(e)

C'est bon!! Le LogCat affiche les erreurs :

06-15 12:05:44.160: INFO/ActivityManager(59): Starting activity: Intent { cmp=com.enigme.myclasses/.profil }

06-15 12:05:44.230: DEBUG/AndroidRuntime(299): Shutting down VM}

06-15 12:05:44.230: WARN/dalvikvm(299): threadid=1: thread exiting with uncaught exception (group=0x4001d800)}

06-15 12:05:44.250: ERROR/AndroidRuntime(299): FATAL EXCEPTION: main}

06-15 12:05:44.250: ERROR/AndroidRuntime(299): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.enigme.myclasses/com.enigme.myclasses.profil}: java.lang.NullPointerException}

06-15 12:05:44.250: ERROR/AndroidRuntime(299): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2585)}

06-15 12:05:44.250: ERROR/AndroidRuntime(299): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)}

06-15 12:05:44.250: ERROR/AndroidRuntime(299): at android.app.ActivityThread.access$2300(ActivityThread.java:125)}

06-15 12:05:44.250: ERROR/AndroidRuntime(299): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)}

06-15 12:05:44.250: ERROR/AndroidRuntime(299): at android.os.Handler.dispatchMessage(Handler.java:99)}

06-15 12:05:44.250: ERROR/AndroidRuntime(299): at android.os.Looper.loop(Looper.java:123)}

06-15 12:05:44.250: ERROR/AndroidRuntime(299): at android.app.ActivityThread.main(ActivityThread.java:4627)}

06-15 12:05:44.250: ERROR/AndroidRuntime(299): at java.lang.reflect.Method.invokeNative(Native Method)}

06-15 12:05:44.250: ERROR/AndroidRuntime(299): at java.lang.reflect.Method.invoke(Method.java:521)}

06-15 12:05:44.250: ERROR/AndroidRuntime(299): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)}

06-15 12:05:44.250: ERROR/AndroidRuntime(299): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)}

06-15 12:05:44.250: ERROR/AndroidRuntime(299): at dalvik.system.NativeStart.main(Native Method)}

06-15 12:05:44.250: ERROR/AndroidRuntime(299): Caused by: java.lang.NullPointerException}

06-15 12:05:44.250: ERROR/AndroidRuntime(299): at android.content.ContextWrapper.getPackageName(ContextWrapper.java:120)}

06-15 12:05:44.250: ERROR/AndroidRuntime(299): at android.preference.PreferenceManager.getDefaultSharedPreferencesName(PreferenceManager.java:353)}

06-15 12:05:44.250: ERROR/AndroidRuntime(299): at android.preference.PreferenceManager.getDefaultSharedPreferences(PreferenceManager.java:348)}

06-15 12:05:44.250: ERROR/AndroidRuntime(299): at com.enigme.myclasses.profil.(profil.java:11)}

06-15 12:05:44.250: ERROR/AndroidRuntime(299): at java.lang.Class.newInstanceImpl(Native Method)}

06-15 12:05:44.250: ERROR/AndroidRuntime(299): at java.lang.Class.newInstance(Class.java:1429)}

06-15 12:05:44.250: ERROR/AndroidRuntime(299): at android.app.Instrumentation.newActivity(Instrumentation.java:1021)}

06-15 12:05:44.250: ERROR/AndroidRuntime(299): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2577)}

06-15 12:05:44.250: ERROR/AndroidRuntime(299): ... 11 more}

06-15 12:05:44.270: WARN/ActivityManager(59): Force finishing activity com.enigme.myclasses/.profil

06-15 12:05:44.270: WARN/ActivityManager(59): Force finishing activity com.enigme.myclasses/.main

06-15 12:05:44.770: WARN/ActivityManager(59): Activity pause timeout for HistoryRecord{43fc2fb0 com.enigme.myclasses/.profil}

06-15 12:05:55.050: WARN/ActivityManager(59): Activity destroy timeout for HistoryRecord{43fd5398 com.enigme.myclasses/.main}

06-15 12:05:55.070: WARN/ActivityManager(59): Activity destroy timeout for HistoryRecord{43fc2fb0 com.enigme.myclasses/.profil}

Voila

Posté(e)

Désolé suis au bureau et je croule un peu depuis le début l'après midi :)

Tu as bien un "NullPointerException" dans ton LogCat, tu peux nous poster ton XML avec ?

Parce que pour l'instant je ne vois pas d'erreur flagrante sur ton code, il se peux que ce soit juste un soucis de frappe/identification (j'en ai eu plein :))

Et j'essaye de repasser par ici pas trop tard, mais je ne peux pas te promettre un retour immédiat ;)

Posté(e)

J'ai juste sa dans mon XML

<?xml version="1.0" encoding="UTF-8"?>

android:orientation="vertical"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:clickable="false" android:background="@drawable/wallpaper">

Sa taiserat a rien je crois

Posté(e) (modifié)

As-tu bien mis ces 2 lignes après le super.onCreate :

util = PreferenceManager.getDefaultSharedPreferences(this);
String nom = util.getString("nom", "");

Modifié par Fluckysan
Posté(e)

J'ai trouvé Merci!!!! Mille fois merci :D :D

Merci pour la patience de Bagahe

Merci pour les suggestion de eephyne

et Merci pour l'indication qui ma permis de trouver la solution Fluckysan

Merci encore!

Rejoignez la conversation

Vous pouvez poster maintenant et vous enregistrez plus tard. Si vous avez un compte, connectez-vous maintenant pour poster.

Invité
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...