Autore Topic: Problema visualizzazione Intero in una TextView  (Letto 461 volte)

Offline Blodhgard

  • Utente junior
  • **
  • Post: 53
  • Respect: +3
    • Mostra profilo
    • Budget Veloce
  • Dispositivo Android:
    Nexus 5, S4 mini, Galaxy Tab S
  • Play Store ID:
    blodhgard
  • Sistema operativo:
    Windows 8.1
Problema visualizzazione Intero in una TextView
« il: 17 Aprile 2014, 23:04:37 CEST »
0
Salve,
da pochi giorni mi sono approcciato alla programmazione su android e da ieri sono bloccato.
Vorrei prendere 2 numeri, sommarli e visualizzare il risultato in un altra activity.
ho trovato altre guide ma anche seguendole non sono riuscito a risolvere il problema

Questo è il codice nella prima activity:
Codice (Java): [Seleziona]
public void makeSum(View view)
    {
        int A, B, somma;
       
        Intent intent = new Intent(this, Sum.class);
       
        EditText editTextA = (EditText) findViewById(R.id.Number1);
        try
        {
        A = Integer.parseInt(editTextA.getText().toString());
        }
        catch(NumberFormatException e)
        {
                A = 0;
        }
   
        EditText editTextB = (EditText) findViewById(R.id.Number2);
        try
        {
        B = Integer.parseInt(editTextB.getText().toString());
        }
        catch(NumberFormatException e)
        {
                B = 0;
        }
       
        somma = A + B;
 
        intent.putExtra(EXTRA_MESSAGE, somma);
        startActivity(intent);          
    }


Questo è il codice nella seconda activity:

Codice (Java): [Seleziona]
protected void onCreate(Bundle savedInstanceState)
        {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.activity_sum);
               
               
                // Get the message from the intent
            Intent intent = getIntent();
            int somma = intent.getIntExtra(MainActivity.EXTRA_MESSAGE, 0);
           
           
            TextView str = (TextView)findViewById(R.id.ViewSum);
           
            String str1 = Integer.toString(somma);
           
            str.setText(str1);
           
           
            if (savedInstanceState == null) {
                        getSupportFragmentManager().beginTransaction()
                                        .add(R.id.container, new PlaceholderFragment()).commit();
                }
        };

Il LogCat
04-17 17:00:07.580: W/dalvikvm(819): threadid=1: thread exiting with uncaught exception (group=0xb2a6cba8)
04-17 17:00:07.660: E/AndroidRuntime(819): FATAL EXCEPTION: main
04-17 17:00:07.660: E/AndroidRuntime(819): Process: com.example.myfirstapp, PID: 819
04-17 17:00:07.660: E/AndroidRuntime(819): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.myfirstapp/com.example.myfirstapp.Sum}: java.lang.NullPointerException
04-17 17:00:07.660: E/AndroidRuntime(819):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2195)
04-17 17:00:07.660: E/AndroidRuntime(819):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)
04-17 17:00:07.660: E/AndroidRuntime(819):    at android.app.ActivityThread.access$800(ActivityThread.java:135)
04-17 17:00:07.660: E/AndroidRuntime(819):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
04-17 17:00:07.660: E/AndroidRuntime(819):    at android.os.Handler.dispatchMessage(Handler.java:102)
04-17 17:00:07.660: E/AndroidRuntime(819):    at android.os.Looper.loop(Looper.java:136)
04-17 17:00:07.660: E/AndroidRuntime(819):    at android.app.ActivityThread.main(ActivityThread.java:5017)
04-17 17:00:07.660: E/AndroidRuntime(819):    at java.lang.reflect.Method.invokeNative(Native Method)
04-17 17:00:07.660: E/AndroidRuntime(819):    at java.lang.reflect.Method.invoke(Method.java:515)
04-17 17:00:07.660: E/AndroidRuntime(819):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
04-17 17:00:07.660: E/AndroidRuntime(819):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
04-17 17:00:07.660: E/AndroidRuntime(819):    at dalvik.system.NativeStart.main(Native Method)
04-17 17:00:07.660: E/AndroidRuntime(819): Caused by: java.lang.NullPointerException
04-17 17:00:07.660: E/AndroidRuntime(819):    at com.example.myfirstapp.Sum.onCreate(Sum.java:36)
04-17 17:00:07.660: E/AndroidRuntime(819):    at android.app.Activity.performCreate(Activity.java:5231)
04-17 17:00:07.660: E/AndroidRuntime(819):    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
04-17 17:00:07.660: E/AndroidRuntime(819):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2159)
04-17 17:00:07.660: E/AndroidRuntime(819):    ... 11 more


Mi scuso perchè so che è un problema banale ma non vorrei rimanerci bloccato per giorni.
Grazie mille a chi risponderà  :D

P.S. scusate se ho sbagliato sezione
« Ultima modifica: 17 Aprile 2014, 23:08:04 CEST da Blodhgard »

Offline mirkus87

  • Utente junior
  • **
  • Post: 56
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    Galaxy S2
  • Play Store ID:
    Mirko Vitiello
  • Sistema operativo:
    Windows 7
Re:Problema visualizzazione Intero in una TextView
« Risposta #1 il: 18 Aprile 2014, 00:10:42 CEST »
0
Nella seconda activity dove ricevi il valore prova a mettere direttamente la costante che assegni a EXTRA_MESSAGE nella prima activity

Esempio

prima activity
Codice (Java): [Seleziona]
private String EXTRA_MESSAGE = "prova";
[...]
intent.putExtra(EXTRA_MESSAGE, somma);
startActivity(intent);

seconda activity metti direttamente la costante
Codice (Java): [Seleziona]
int somma = intent.getIntExtra("prova", 0);

Offline Blodhgard

  • Utente junior
  • **
  • Post: 53
  • Respect: +3
    • Mostra profilo
    • Budget Veloce
  • Dispositivo Android:
    Nexus 5, S4 mini, Galaxy Tab S
  • Play Store ID:
    blodhgard
  • Sistema operativo:
    Windows 8.1
Re:Problema visualizzazione Intero in una TextView
« Risposta #2 il: 18 Aprile 2014, 10:42:09 CEST »
0
No, quando metto in esecuzione l'app mi da sempre errore quando faccio partire la seconda activity.

Inserisco anche il codice xml:
Codice (XML): [Seleziona]
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
   xmlns:tools="http://schemas.android.com/tools"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   android:paddingBottom="@dimen/activity_vertical_margin"
   android:paddingLeft="@dimen/activity_horizontal_margin"
   android:paddingRight="@dimen/activity_horizontal_margin"
   android:paddingTop="@dimen/activity_vertical_margin"
   tools:context="com.example.myfirstapp.Sum$PlaceholderFragment" >
 
    <TextView
       android:id="@+id/ViewSum"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:layout_alignParentTop="true"
       android:layout_centerHorizontal="true"
       android:layout_marginTop="72dp"
       android:text="@string/hello_world"
       android:textAppearance="?android:attr/textAppearanceLarge" />

   
    <TextView
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"        
       android:text="@string/hello_world" />

</RelativeLayout>



Post unito: 18 Aprile 2014, 13:37:54 CEST
Codice (Java): [Seleziona]
TextView str = (TextView)findViewById(R.id.ViewSum);
           
            String str1 = Integer.toString(somma);
           
            str.setText(str1);

Eseguendo il debug del programma mi risulta che in str1 vi è la stringa contenente la somma ma str mi da null quindi ci deve essere un qualche tipo di problema nella TextView
« Ultima modifica: 18 Aprile 2014, 13:37:54 CEST da Blodhgard, Reason: Merged DoublePost »

Offline Sakazaki

  • Utente normale
  • ***
  • Post: 396
  • Respect: +74
    • Mostra profilo
  • Dispositivo Android:
    Sony xperia Z
  • Play Store ID:
    Saka Labs
  • Sistema operativo:
    Windows 8
Re:Problema visualizzazione Intero in una TextView
« Risposta #3 il: 18 Aprile 2014, 14:39:01 CEST »
0
Codice (Java): [Seleziona]
04-17 17:00:07.660: E/AndroidRuntime(819): Caused by: java.lang.NullPointerException
04-17 17:00:07.660: E/AndroidRuntime(819):    at com.example.myfirstapp.Sum.onCreate(Sum.java:36)

Cosa c'è scritto nella classe Sum a riga 36?

EDIT:
riformulo: sicuro al 100%  che l'xml che hai postato è il layout definito in activity_sum.xml?
« Ultima modifica: 18 Aprile 2014, 14:47:34 CEST da Sakazaki »

Offline Blodhgard

  • Utente junior
  • **
  • Post: 53
  • Respect: +3
    • Mostra profilo
    • Budget Veloce
  • Dispositivo Android:
    Nexus 5, S4 mini, Galaxy Tab S
  • Play Store ID:
    blodhgard
  • Sistema operativo:
    Windows 8.1
Re:Problema visualizzazione Intero in una TextView
« Risposta #4 il: 18 Aprile 2014, 16:46:52 CEST »
0
Risolto grazie mille! Avevo creato la TextView nel Fragment  :-\

Offline Sakazaki

  • Utente normale
  • ***
  • Post: 396
  • Respect: +74
    • Mostra profilo
  • Dispositivo Android:
    Sony xperia Z
  • Play Store ID:
    Saka Labs
  • Sistema operativo:
    Windows 8
Re:Problema visualizzazione Intero in una TextView
« Risposta #5 il: 18 Aprile 2014, 16:50:25 CEST »
0
avendo visto getSupportFragmentManager() il sospetto mi era venuto  ;-)