Autore Topic: FATAL EXCEPTION group= 0x4001d800 Problema activity_main.xml  (Letto 1647 volte)

Offline fredrosa

  • Nuovo arrivato
  • *
  • Post: 7
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    windows 7/ubuntu 13.04
FATAL EXCEPTION group= 0x4001d800 Problema activity_main.xml
« il: 31 Maggio 2013, 23:25:51 CEST »
0
Buonasera ragazzi ho un grosso problema..innanzitutto sono nuovo di java e della programmazione Android, e per iniziare, essendo

principiante, sto facendo un programma per il calcolo del codice fiscale. A dire il vero anche se qui vi posto solo una parte del

codice per non complicarvi la vita, il programma è finito, i metodi li ho fatti tutti quanti e funzionano però ho un problema:

inizialmente quando dispongo i widget  nell'activity_main.xml e provo il programma con l'emulatore, il tutto funziona... Se poi

sposto un widget, anche di un semplice centimetro, nel logCat di stampa il seguente errore:

Codice (Java): [Seleziona]
05-31 17:50:16.853: W/dalvikvm(1158): threadid=1: thread exiting with uncaught exception (group=0x4001d800)
05-31 17:50:16.863: E/AndroidRuntime(1158): FATAL EXCEPTION: main
05-31 17:50:16.863: E/AndroidRuntime(1158): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.codicefiscalegratis/com.example.codicefiscalegratis.MainActivity}: java.lang.ClassCastException: android.widget.TextView
05-31 17:50:16.863: E/AndroidRuntime(1158):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663)
05-31 17:50:16.863: E/AndroidRuntime(1158):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
05-31 17:50:16.863: E/AndroidRuntime(1158):     at android.app.ActivityThread.access$2300(ActivityThread.java:125)
05-31 17:50:16.863: E/AndroidRuntime(1158):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
05-31 17:50:16.863: E/AndroidRuntime(1158):     at android.os.Handler.dispatchMessage(Handler.java:99)
05-31 17:50:16.863: E/AndroidRuntime(1158):     at android.os.Looper.loop(Looper.java:123)
05-31 17:50:16.863: E/AndroidRuntime(1158):     at android.app.ActivityThread.main(ActivityThread.java:4627)
05-31 17:50:16.863: E/AndroidRuntime(1158):     at java.lang.reflect.Method.invokeNative(Native Method)
05-31 17:50:16.863: E/AndroidRuntime(1158):     at java.lang.reflect.Method.invoke(Method.java:521)
05-31 17:50:16.863: E/AndroidRuntime(1158):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
05-31 17:50:16.863: E/AndroidRuntime(1158):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
05-31 17:50:16.863: E/AndroidRuntime(1158):     at dalvik.system.NativeStart.main(Native Method)
05-31 17:50:16.863: E/AndroidRuntime(1158): Caused by: java.lang.ClassCastException: android.widget.TextView
05-31 17:50:16.863: E/AndroidRuntime(1158):     at com.example.codicefiscalegratis.MainActivity.onCreate(MainActivity.java:204)
05-31 17:50:16.863: E/AndroidRuntime(1158):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
05-31 17:50:16.863: E/AndroidRuntime(1158):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
05-31 17:50:16.863: E/AndroidRuntime(1158):     ... 11 more
05-31 17:55:16.896: I/Process(1158): Sending signal. PID: 1158 SIG: 9

ho provato a disporre i widget senza "aggrappamento automatico", a ricrearli, a cambiare id, a creare un nuovo progetto da 0, a
creare un nuovo emulatore, a leggere i vari forum...in inglese tra l'altro xD , ma nnt! non riesco a venirne a capo! HELP MEE!
Sotto ci sono i codici del mainactivity.java , l'activity_main , il manifest e un immagine della Graphical Layouts:

mainactivity:

Codice (Java): [Seleziona]
package com.example.codicefiscalegratis;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

public class MainActivity extends Activity {
       
       
public String  getCodNome(String Nome){

       
        Nome=Nome.toUpperCase();
        Nome=Nome.replace(" ", "");
        String codice=new String();
        int i;
        String novoc= new String();
        String allvoc=new String();
       
        for(i=0;i<Nome.length();i++){
                if(Nome.charAt(i)!='A' && Nome.charAt(i)!='E' && Nome.charAt(i)!='I' &&
                                                                Nome.charAt(i)!='O' && Nome.charAt(i)!='U')
                        novoc=novoc+Nome.charAt(i);
            else allvoc=allvoc+Nome.charAt(i);
                                                            }
       
        if (novoc.length()>=4) {
            codice =codice + novoc.charAt(0) + novoc.charAt(2) + novoc.charAt(3);
           
                                                    }
       
        if (novoc.length()==3) {
                codice=codice + novoc.charAt(0) + novoc.charAt(1) + novoc.charAt(2);
        }
       
        if(novoc.length()==2){
                codice=codice+novoc.charAt(0) + novoc.charAt(1);
                if(allvoc.length()>=1) codice=codice+allvoc.charAt(0);
                else codice=codice+'X';
        }
       
        if(novoc.length()==1){
                codice=codice+novoc.charAt(0);
                if(allvoc.length()>=2) codice = codice + allvoc.charAt(0) + allvoc.charAt(1);
                if(allvoc.length()==1) codice = codice + allvoc.charAt(0) + 'X';
                if(allvoc.length()==0) codice=codice +'X' + 'X';
        }
       
        if(novoc.length()==0) {
                if (allvoc.length()>=3) codice=codice + allvoc.charAt(0) + allvoc.charAt(1) + allvoc.charAt(2);
                if (allvoc.length()==2) codice=codice + allvoc.charAt(0) + allvoc.charAt(1) + 'X';
                if (allvoc.length()==1) codice=codice + allvoc.charAt(0) +'X'+'X';
        }

        return codice;
        }
       

        public String getCodCognome (String Cognome){
        Cognome = Cognome.toUpperCase();
        Cognome=Cognome.replace(" ", "");
        Cognome=Cognome.replace("'", "");
        String codice2 = new String();
        int x;
        String senzaVocali = new String();
        String tutteVocali = new String();
       
        for (x =0; x < Cognome.length(); x++ ){
                if (Cognome.charAt(x) != 'A' & Cognome.charAt(x)!='E'
                                & Cognome.charAt(x)!='I' & Cognome.charAt(x)!='O'
                                & Cognome.charAt(x)!='U'){
                        senzaVocali = senzaVocali + Cognome.charAt(x);
                } else {
                        tutteVocali = tutteVocali + Cognome.charAt(x);
                }

        }
       
        if (senzaVocali.length() >=3){
                codice2 = codice2 + senzaVocali.charAt(0) + senzaVocali.charAt(1) + senzaVocali.charAt(2);
               
        }
        if (senzaVocali.length() == 0 && Cognome.length() >= 3){
                codice2 = codice2 + tutteVocali.charAt(0) + tutteVocali.charAt(1) + tutteVocali.charAt(2);
        }
        if (senzaVocali.length() == 2 && Cognome.length()>=3){
                codice2 = codice2 + senzaVocali.charAt(0) + senzaVocali.charAt(1) + tutteVocali.charAt(0);
        }
        if (senzaVocali.length() == 1 && Cognome.length()>=3){
                codice2 = codice2 + senzaVocali.charAt(0) + tutteVocali.charAt(0) + tutteVocali.charAt(1);
        }
       
        if (Cognome.length() < 3){
                codice2 = codice2 + Cognome + 'X';
        if (Cognome.length() < 2){
                codice2 = codice2 + 'X';
        }
       
        }
        return codice2;
       
    }
    public String getAnno(String Anno){
        String cifreAnno = new String();
        cifreAnno = cifreAnno + Anno.charAt(2) + Anno.charAt(3);
        return cifreAnno;
         
    }
    Button pulsante;
        EditText nome,cognome;
        TextView testo1;
   
       

        @Override
        protected void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.activity_main);
                pulsante = (Button) findViewById (R.id.button1);
                nome = (EditText) findViewById (R.id.editNome);
                cognome = (EditText) findViewById (R.id.editCognome);
                testo1 = (TextView) findViewById (R.id.textView1);
                pulsante.setOnClickListener(new OnClickListener() {
                       
                        @Override
                        public void onClick(View v) {
                        MainActivity nuova = new MainActivity();
                        String nom1 = new String();
                        String cogn1 = new String();
                        nom1 = nome.getText().toString();
                        cogn1 = cognome.getText().toString();
                        testo1.setText(nuova.getCodCognome(cogn1)+ nuova.getCodNome(nom1));
                        }
});
}

        @Override
        public boolean onCreateOptionsMenu(Menu menu) {
                // Inflate the menu; this adds items to the action bar if it is present.
                getMenuInflater().inflate(R.menu.main, menu);
                return true;
        }

}



activity_main:

Codice (Java): [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=".MainActivity" >

    <EditText
        android:id="@+id/editNome"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/textView1"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="45dp"
        android:ems="10"
        android:inputType="textPersonName" />

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="24dp"
        android:text="Codice Fiscale"
        android:textAppearance="?android:attr/textAppearanceLarge" />

    <EditText
        android:id="@+id/editCognome"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/editNome"
        android:layout_below="@+id/editNome"
        android:layout_marginTop="44dp"
        android:ems="10"
        android:inputType="textPersonName" />

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/editCognome"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="58dp"
        android:text="Button" />

</RelativeLayout>


manifest:

Codice (Java): [Seleziona]
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.codicefiscalegratis"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="17" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.example.codicefiscalegratis.MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:FATAL EXCEPTION group= 0x4001d800 Problema activity_main.xml
« Risposta #1 il: 01 Giugno 2013, 08:37:07 CEST »
0
Devi prendere confidenza nel leggere il logcat, perchè fornisce parecchie indicazioni.

Quello che devi fare è cercare il rigo di errore in cui è nominato il tuo file java:

Citazione
05-31 17:50:16.863: E/AndroidRuntime(1158): Caused by: java.lang.ClassCastException: android.widget.TextView
05-31 17:50:16.863: E/AndroidRuntime(1158):     at com.example.codicefiscalegratis.MainActivity.onCreate(MainActivity.java:204)

Alla riga 204 di MainActivity.java l'errore è ClassCastException.
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline fredrosa

  • Nuovo arrivato
  • *
  • Post: 7
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    windows 7/ubuntu 13.04
Re:FATAL EXCEPTION group= 0x4001d800 Problema activity_main.xml
« Risposta #2 il: 01 Giugno 2013, 15:06:43 CEST »
0
Devi prendere confidenza nel leggere il logcat, perchè fornisce parecchie indicazioni.

Quello che devi fare è cercare il rigo di errore in cui è nominato il tuo file java:

Alla riga 204 di MainActivity.java l'errore è ClassCastException.

Ciao bradipao , innanzitutto grazie :) cmq questo ero riuscito a capirlo, ma non mi ha aiutato molto in quanto, a volte, spostando altri elementi, l'errore passa alle altre righe dove ci sogno gli altri "findViewById" (cmq l'errore che vi ho fatto vedere, era preso dalla versione completa del codice fiscale, infatti la riga in cui da errore in quel caso, è la 204, mentre nel mio caso con meno elementi e metodi, l'errore è spostato alla riga 124-127, dove sono dichiarati gli id dei widget). cercando su internet, ho piu o meno capito che forse il problema è legato agli id...quindi al file R.java di cui ora vi metto il codice. è una cosa strana, dipende da come sposti gli elementi...a volte lo fa, altre no...nn capisco prorpio. e inoltre se quando da l'errore, vado su PROJECT ---> CLEAN... , l'errore sembra risolversi, e il tutto va bene...mah...

R.java :

Codice (Java): [Seleziona]
/* 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 com.example.codicefiscalegratis;

public final class R {
    public static final class attr {
    }
    public static final class dimen {
        /**  Default screen margins, per the Android Design guidelines.

         Customize dimensions originally defined in res/values/dimens.xml (such as
         screen margins) for sw720dp devices (e.g. 10" tablets) in landscape here.
   
         */

        public static final int activity_horizontal_margin=0x7f040000;
        public static final int activity_vertical_margin=0x7f040001;
    }
    public static final class drawable {
        public static final int ic_launcher=0x7f020000;
    }
    public static final class id {
        public static final int action_settings=0x7f080004;
        public static final int button1=0x7f080002;
        public static final int editCognome=0x7f080003;
        public static final int editNome=0x7f080000;
        public static final int textView1=0x7f080001;
    }
    public static final class layout {
        public static final int activity_main=0x7f030000;
    }
    public static final class menu {
        public static final int main=0x7f070000;
    }
    public static final class string {
        public static final int action_settings=0x7f050001;
        public static final int app_name=0x7f050000;
        public static final int hello_world=0x7f050002;
    }
    public static final class style {
        /**
        Base application theme, dependent on API level. This theme is replaced
        by AppBaseTheme from res/values-vXX/styles.xml on newer devices.
   

            Theme customizations available in newer API levels can go in
            res/values-vXX/styles.xml, while customizations related to
            backward-compatibility can go here.
       

        Base application theme for API 11+. This theme completely replaces
        AppBaseTheme from res/values/styles.xml on API 11+ devices.
   
 API 11 theme customizations can go here.

        Base application theme for API 14+. This theme completely replaces
        AppBaseTheme from BOTH res/values/styles.xml and
        res/values-v11/styles.xml on API 14+ devices.
   
 API 14 theme customizations can go here.
         */

        public static final int AppBaseTheme=0x7f060000;
        /**  Application theme.
 All customizations that are NOT specific to a particular API-level can go here.
         */

        public static final int AppTheme=0x7f060001;
    }
}

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:FATAL EXCEPTION group= 0x4001d800 Problema activity_main.xml
« Risposta #3 il: 01 Giugno 2013, 16:36:47 CEST »
0
Il problema sta quasi sicuramente nel file XML del layout. Posta quel codice nella versione in cui genera errore.
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline fredrosa

  • Nuovo arrivato
  • *
  • Post: 7
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    windows 7/ubuntu 13.04
Re:FATAL EXCEPTION group= 0x4001d800 Problema activity_main.xml
« Risposta #4 il: 02 Giugno 2013, 01:57:43 CEST »
0
Il problema sta quasi sicuramente nel file XML del layout. Posta quel codice nella versione in cui genera errore.
lo penso anche io...xo mi sto avvelenando, nn riesco a risolvere..ho provato pure a cancellare il contenuto del file R.java cosi lo ricreasse da solo, ma anche quello è stato un tentativo nullo...ho provato un vecchio programma che avevo che faceva somma e sottrazione sempre di 2 numeri inseriti nell'EditText e fa la stessa cosa...quando sposto i widget da errore..come ti invio l'attuale errore, con l'aggiunta dello stesso errore nell'error Log, che sembra dare + specifiche sull'errore:

Error log cat:

Codice (Java): [Seleziona]
06-02 01:53:32.909: D/AndroidRuntime(632): Shutting down VM
06-02 01:53:32.909: W/dalvikvm(632): threadid=1: thread exiting with uncaught exception (group=0x4001d800)
06-02 01:53:32.928: E/AndroidRuntime(632): FATAL EXCEPTION: main
06-02 01:53:32.928: E/AndroidRuntime(632): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.codicefiscalegratis/com.example.codicefiscalegratis.MainActivity}: java.lang.ClassCastException: android.widget.TextView
06-02 01:53:32.928: E/AndroidRuntime(632):      at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663)
06-02 01:53:32.928: E/AndroidRuntime(632):      at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
06-02 01:53:32.928: E/AndroidRuntime(632):      at android.app.ActivityThread.access$2300(ActivityThread.java:125)
06-02 01:53:32.928: E/AndroidRuntime(632):      at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
06-02 01:53:32.928: E/AndroidRuntime(632):      at android.os.Handler.dispatchMessage(Handler.java:99)
06-02 01:53:32.928: E/AndroidRuntime(632):      at android.os.Looper.loop(Looper.java:123)
06-02 01:53:32.928: E/AndroidRuntime(632):      at android.app.ActivityThread.main(ActivityThread.java:4627)
06-02 01:53:32.928: E/AndroidRuntime(632):      at java.lang.reflect.Method.invokeNative(Native Method)
06-02 01:53:32.928: E/AndroidRuntime(632):      at java.lang.reflect.Method.invoke(Method.java:521)
06-02 01:53:32.928: E/AndroidRuntime(632):      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
06-02 01:53:32.928: E/AndroidRuntime(632):      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
06-02 01:53:32.928: E/AndroidRuntime(632):      at dalvik.system.NativeStart.main(Native Method)
06-02 01:53:32.928: E/AndroidRuntime(632): Caused by: java.lang.ClassCastException: android.widget.TextView
06-02 01:53:32.928: E/AndroidRuntime(632):      at com.example.codicefiscalegratis.MainActivity.onCreate(MainActivity.java:125)
06-02 01:53:32.928: E/AndroidRuntime(632):      at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
06-02 01:53:32.928: E/AndroidRuntime(632):      at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
06-02 01:53:32.928: E/AndroidRuntime(632):      ... 11 more



error log lo metto tra gli allegati

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:FATAL EXCEPTION group= 0x4001d800 Problema activity_main.xml
« Risposta #5 il: 02 Giugno 2013, 09:54:01 CEST »
0
Si ma dovresti allegare anche l'XML che genera l'errore. Clicca sul tab sotto la visualizzazione grafica per mettere quella XML, e fai copia e incolla sul forum.
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline fredrosa

  • Nuovo arrivato
  • *
  • Post: 7
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    windows 7/ubuntu 13.04
Re:FATAL EXCEPTION group= 0x4001d800 Problema activity_main.xml
« Risposta #6 il: 02 Giugno 2013, 11:20:57 CEST »
0
L'activity_main.xml l'ho già caricato.. Sta sopra..  Quello genera l'errore... Li ho messi tutti.. :)

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:FATAL EXCEPTION group= 0x4001d800 Problema activity_main.xml
« Risposta #7 il: 02 Giugno 2013, 12:25:47 CEST »
0
se i sorgenti che generano errore sono esattamente quelli che hai postato, non ci vedo errori evidenti
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline fredrosa

  • Nuovo arrivato
  • *
  • Post: 7
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    windows 7/ubuntu 13.04
Re:FATAL EXCEPTION group= 0x4001d800 Problema activity_main.xml
« Risposta #8 il: 02 Giugno 2013, 12:43:22 CEST »
0
allora...te li rimetto tutti in ordine...a me continua a dare errore...nn è possibile che ci siano problemi con l'emulatore o con ecplise e android sdk?

activity_main.xml

Codice (Java): [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=".MainActivity" >

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:text="Codice Fiscale"
        android:textAppearance="?android:attr/textAppearanceLarge" />

    <EditText
        android:id="@+id/editNome"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/textView1"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="31dp"
        android:ems="10"
        android:inputType="textPersonName" >

        <requestFocus />
    </EditText>

    <EditText
        android:id="@+id/editCognome"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/editNome"
        android:layout_below="@+id/editNome"
        android:layout_marginTop="31dp"
        android:ems="10"
        android:inputType="textPersonName" />

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:text="Button" />

</RelativeLayout>


MainActivity.java :


Codice (Java): [Seleziona]
package com.example.codicefiscalegratis;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

public class MainActivity extends Activity {
       
       
public String  getCodNome(String Nome){

       
        Nome=Nome.toUpperCase();
        Nome=Nome.replace(" ", "");
        String codice=new String();
        int i;
        String novoc= new String();
        String allvoc=new String();
       
        for(i=0;i<Nome.length();i++){
                if(Nome.charAt(i)!='A' && Nome.charAt(i)!='E' && Nome.charAt(i)!='I' &&
                                                                Nome.charAt(i)!='O' && Nome.charAt(i)!='U')
                        novoc=novoc+Nome.charAt(i);
            else allvoc=allvoc+Nome.charAt(i);
                                                            }
       
        if (novoc.length()>=4) {
            codice =codice + novoc.charAt(0) + novoc.charAt(2) + novoc.charAt(3);
           
                                                    }
       
        if (novoc.length()==3) {
                codice=codice + novoc.charAt(0) + novoc.charAt(1) + novoc.charAt(2);
        }
       
        if(novoc.length()==2){
                codice=codice+novoc.charAt(0) + novoc.charAt(1);
                if(allvoc.length()>=1) codice=codice+allvoc.charAt(0);
                else codice=codice+'X';
        }
       
        if(novoc.length()==1){
                codice=codice+novoc.charAt(0);
                if(allvoc.length()>=2) codice = codice + allvoc.charAt(0) + allvoc.charAt(1);
                if(allvoc.length()==1) codice = codice + allvoc.charAt(0) + 'X';
                if(allvoc.length()==0) codice=codice +'X' + 'X';
        }
       
        if(novoc.length()==0) {
                if (allvoc.length()>=3) codice=codice + allvoc.charAt(0) + allvoc.charAt(1) + allvoc.charAt(2);
                if (allvoc.length()==2) codice=codice + allvoc.charAt(0) + allvoc.charAt(1) + 'X';
                if (allvoc.length()==1) codice=codice + allvoc.charAt(0) +'X'+'X';
        }

        return codice;
        }
       

        public String getCodCognome (String Cognome){
        Cognome = Cognome.toUpperCase();
        Cognome=Cognome.replace(" ", "");
        Cognome=Cognome.replace("'", "");
        String codice2 = new String();
        int x;
        String senzaVocali = new String();
        String tutteVocali = new String();
       
        for (x =0; x < Cognome.length(); x++ ){
                if (Cognome.charAt(x) != 'A' & Cognome.charAt(x)!='E'
                                & Cognome.charAt(x)!='I' & Cognome.charAt(x)!='O'
                                & Cognome.charAt(x)!='U'){
                        senzaVocali = senzaVocali + Cognome.charAt(x);
                } else {
                        tutteVocali = tutteVocali + Cognome.charAt(x);
                }

        }
       
        if (senzaVocali.length() >=3){
                codice2 = codice2 + senzaVocali.charAt(0) + senzaVocali.charAt(1) + senzaVocali.charAt(2);
               
        }
        if (senzaVocali.length() == 0 && Cognome.length() >= 3){
                codice2 = codice2 + tutteVocali.charAt(0) + tutteVocali.charAt(1) + tutteVocali.charAt(2);
        }
        if (senzaVocali.length() == 2 && Cognome.length()>=3){
                codice2 = codice2 + senzaVocali.charAt(0) + senzaVocali.charAt(1) + tutteVocali.charAt(0);
        }
        if (senzaVocali.length() == 1 && Cognome.length()>=3){
                codice2 = codice2 + senzaVocali.charAt(0) + tutteVocali.charAt(0) + tutteVocali.charAt(1);
        }
       
        if (Cognome.length() < 3){
                codice2 = codice2 + Cognome + 'X';
        if (Cognome.length() < 2){
                codice2 = codice2 + 'X';
        }
       
        }
        return codice2;
       
    }
    public String getAnno(String Anno){
        String cifreAnno = new String();
        cifreAnno = cifreAnno + Anno.charAt(2) + Anno.charAt(3);
        return cifreAnno;
         
    }
    Button pulsante;
        EditText nome,cognome;
        TextView testo1;
   
       

        @Override
        protected void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.activity_main);
                pulsante = (Button) findViewById (R.id.button1);
                nome = (EditText) findViewById (R.id.editNome);
                cognome = (EditText) findViewById (R.id.editCognome);
                testo1 = (TextView) findViewById (R.id.textView1);
                pulsante.setOnClickListener(new OnClickListener() {
                       
                        @Override
                        public void onClick(View v) {
                        MainActivity nuova = new MainActivity();
                        String nom1 = new String();
                        String cogn1 = new String();
                        nom1 = nome.getText().toString();
                        cogn1 = cognome.getText().toString();
                        testo1.setText(nuova.getCodCognome(cogn1)+ nuova.getCodNome(nom1));
                        }
});
}

        @Override
        public boolean onCreateOptionsMenu(Menu menu) {
                // Inflate the menu; this adds items to the action bar if it is present.
                getMenuInflater().inflate(R.menu.main, menu);
                return true;
        }

}


R.java:

Codice (Java): [Seleziona]
/* 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 com.example.codicefiscalegratis;

public final class R {
    public static final class attr {
    }
    public static final class dimen {
        /**  Default screen margins, per the Android Design guidelines.

         Customize dimensions originally defined in res/values/dimens.xml (such as
         screen margins) for sw720dp devices (e.g. 10" tablets) in landscape here.
   
         */

        public static final int activity_horizontal_margin=0x7f040000;
        public static final int activity_vertical_margin=0x7f040001;
    }
    public static final class drawable {
        public static final int ic_launcher=0x7f020000;
    }
    public static final class id {
        public static final int action_settings=0x7f080004;
        public static final int button1=0x7f080003;
        public static final int editCognome=0x7f080002;
        public static final int editNome=0x7f080000;
        public static final int textView1=0x7f080001;
    }
    public static final class layout {
        public static final int activity_main=0x7f030000;
    }
    public static final class menu {
        public static final int main=0x7f070000;
    }
    public static final class string {
        public static final int action_settings=0x7f050001;
        public static final int app_name=0x7f050000;
        public static final int hello_world=0x7f050002;
    }
    public static final class style {
        /**
        Base application theme, dependent on API level. This theme is replaced
        by AppBaseTheme from res/values-vXX/styles.xml on newer devices.
   

            Theme customizations available in newer API levels can go in
            res/values-vXX/styles.xml, while customizations related to
            backward-compatibility can go here.
       

        Base application theme for API 11+. This theme completely replaces
        AppBaseTheme from res/values/styles.xml on API 11+ devices.
   
 API 11 theme customizations can go here.

        Base application theme for API 14+. This theme completely replaces
        AppBaseTheme from BOTH res/values/styles.xml and
        res/values-v11/styles.xml on API 14+ devices.
   
 API 14 theme customizations can go here.
         */

        public static final int AppBaseTheme=0x7f060000;
        /**  Application theme.
 All customizations that are NOT specific to a particular API-level can go here.
         */

        public static final int AppTheme=0x7f060001;
    }
}


manifest.xml:

Codice (Java): [Seleziona]
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.codicefiscalegratis"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="17" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.example.codicefiscalegratis.MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

Post unito: 02 Giugno 2013, 12:43:53 CEST
errore :

Codice (Java): [Seleziona]
06-02 12:39:04.872: D/AndroidRuntime(302): Shutting down VM
06-02 12:39:04.872: W/dalvikvm(302): threadid=1: thread exiting with uncaught exception (group=0x4001d800)
06-02 12:39:04.891: E/AndroidRuntime(302): FATAL EXCEPTION: main
06-02 12:39:04.891: E/AndroidRuntime(302): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.codicefiscalegratis/com.example.codicefiscalegratis.MainActivity}: java.lang.ClassCastException: android.widget.TextView
06-02 12:39:04.891: E/AndroidRuntime(302):      at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663)
06-02 12:39:04.891: E/AndroidRuntime(302):      at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
06-02 12:39:04.891: E/AndroidRuntime(302):      at android.app.ActivityThread.access$2300(ActivityThread.java:125)
06-02 12:39:04.891: E/AndroidRuntime(302):      at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
06-02 12:39:04.891: E/AndroidRuntime(302):      at android.os.Handler.dispatchMessage(Handler.java:99)
06-02 12:39:04.891: E/AndroidRuntime(302):      at android.os.Looper.loop(Looper.java:123)
06-02 12:39:04.891: E/AndroidRuntime(302):      at android.app.ActivityThread.main(ActivityThread.java:4627)
06-02 12:39:04.891: E/AndroidRuntime(302):      at java.lang.reflect.Method.invokeNative(Native Method)
06-02 12:39:04.891: E/AndroidRuntime(302):      at java.lang.reflect.Method.invoke(Method.java:521)
06-02 12:39:04.891: E/AndroidRuntime(302):      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
06-02 12:39:04.891: E/AndroidRuntime(302):      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
06-02 12:39:04.891: E/AndroidRuntime(302):      at dalvik.system.NativeStart.main(Native Method)
06-02 12:39:04.891: E/AndroidRuntime(302): Caused by: java.lang.ClassCastException: android.widget.TextView
06-02 12:39:04.891: E/AndroidRuntime(302):      at com.example.codicefiscalegratis.MainActivity.onCreate(MainActivity.java:125)
06-02 12:39:04.891: E/AndroidRuntime(302):      at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
06-02 12:39:04.891: E/AndroidRuntime(302):      at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
06-02 12:39:04.891: E/AndroidRuntime(302):      ... 11 more

Offline blackgin

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1387
  • Respect: +164
    • Google+
    • blackgins
    • blackginsoft
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Nexus
  • Sistema operativo:
    Mac OSX 10.8
Re:FATAL EXCEPTION group= 0x4001d800 Problema activity_main.xml
« Risposta #9 il: 02 Giugno 2013, 12:53:14 CEST »
0
cercando su internet, ho piu o meno capito che forse il problema è legato agli id...quindi al file R.java di cui ora vi metto il codice. è una cosa strana, dipende da come sposti gli elementi...a volte lo fa, altre no...nn capisco prorpio. e inoltre se quando da l'errore, vado su PROJECT ---> CLEAN... , l'errore sembra risolversi, e il tutto va bene...mah...
É così. A volte non aggiorna il file R quando sposti elementi nei file XML, mi é successo una vagonata di volte con eclipse. Risolvi con un clean.
Postate il LogCat LogCat LogCat LogCat LogCat

Offline fredrosa

  • Nuovo arrivato
  • *
  • Post: 7
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    windows 7/ubuntu 13.04
Re:FATAL EXCEPTION group= 0x4001d800 Problema activity_main.xml
« Risposta #10 il: 03 Giugno 2013, 01:35:56 CEST »
0
É così. A volte non aggiorna il file R quando sposti elementi nei file XML, mi é successo una vagonata di volte con eclipse. Risolvi con un clean.

ho capito...quindi nn c'è altra soluzione? oppure si può cambiare Eclipse con un altro programma tipo NetBeans oppure è possibile farlo solo con lui? un ultima informazione su cui ho riflettuto è che cmq io uso eclipse classic con poi installati tutti gli  ADT Plugin  da Android Developers. Non è che c'è bisogno della versione Eclipse IDE for Java EE Developers?

Offline blackgin

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1387
  • Respect: +164
    • Google+
    • blackgins
    • blackginsoft
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Nexus
  • Sistema operativo:
    Mac OSX 10.8
Re:FATAL EXCEPTION group= 0x4001d800 Problema activity_main.xml
« Risposta #11 il: 03 Giugno 2013, 12:25:22 CEST »
0
ho capito...quindi nn c'è altra soluzione? oppure si può cambiare Eclipse con un altro programma tipo NetBeans oppure è possibile farlo solo con lui? un ultima informazione su cui ho riflettuto è che cmq io uso eclipse classic con poi installati tutti gli  ADT Plugin  da Android Developers. Non è che c'è bisogno della versione Eclipse IDE for Java EE Developers?
Al momento sto usando la preview di Android Studio e questo problema non si presenta.
Comunque la tua versione di Eclipse va bene. In ogni caso, alla fine si tratta di un semplice clean..
« Ultima modifica: 03 Giugno 2013, 13:17:21 CEST da blackgin »
Postate il LogCat LogCat LogCat LogCat LogCat

Offline fredrosa

  • Nuovo arrivato
  • *
  • Post: 7
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    windows 7/ubuntu 13.04
Re:FATAL EXCEPTION group= 0x4001d800 Problema activity_main.xml
« Risposta #12 il: 03 Giugno 2013, 12:27:34 CEST »
0
Va benissimoo!! ;) vi ringrazio molto ragazzi :) ora metto RISOLTO