CERCA
PER MODELLO
FullScreen Chatbox! :)

Utente del giorno: megthebest con ben 2 Thanks ricevuti nelle ultime 24 ore
Utente della settimana: megthebest con ben 9 Thanks ricevuti negli ultimi sette giorni
Utente del mese: megthebest con ben 31 Thanks ricevuti nell'ultimo mese

Visualizzazione dei risultati da 1 a 9 su 9
Discussione:

Crash improvviso

Se questa discussione ti è stata utile, ti preghiamo di lasciare un messaggio di feedback in modo che possa essere preziosa in futuro anche per altri utenti come te!
  1. #1
    Baby Droid


    Registrato dal
    Jun 2011
    Messaggi
    13

    Ringraziamenti
    1
    Ringraziato 1 volta in 1 Post
    Predefinito

    Crash improvviso

    Ciao a tutti, ho un problema con questa semplice applicazione, l'unica cosa che è è settare due tab sullo schermo, uno co un analogClock e l'altro come campo vuoto.
    Non capisco come mai ma sia sul AVD che sul mio cell (un gratia) va in crash all, avvio.
    Allego il codice

    XML:
    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"
        >
    <TabHost android:id="@+id/tabhost"
    	android:layout_width="fill_parent"
    	android:layout_height="fill_parent"
    	>
    <TabWidget android:id="@+id/tabs"
    	android:layout_width="fill_parent"
    	android:layout_height="wrap_content"
    	/>
    <FrameLayout android:id="@android:id/tabcontent"
    	android:layout_width="fill_parent"
    	android:layout_height="fill_parent"
    	android:paddingTop="62px"
    	>
    <AnalogClock android:id="@+id/tab1"
    	android:layout_width="fill_parent"
    	android:layout_height="fill_parent"
    	android:layout_centerHorizontal="true"
    	/>
    <Button android:id="@+id/tab2"
    	android:layout_width="fill_parent"
    	android:layout_height="fill_parent"
    	android:text="A semi-random button"
    	/>
    	</FrameLayout>
      </TabHost>
    </LinearLayout>
    JAVA CODE:
    codice:
    package prova.TabDemo;
    
    import android.app.Activity;
    import android.os.Bundle;
    import android.widget.TabHost;
    
    public class TabDemo extends Activity {
    
        @Override
        public void onCreate(Bundle icicle) {
            super.onCreate(icicle);
            setContentView(R.layout.main);
            
            TabHost tabs = (TabHost)findViewById(R.id.tabhost);
            tabs.setup();
            
            TabHost.TabSpec spec = tabs.newTabSpec("tag 1");
            
            spec.setContent(R.id.tab1);
            spec.setIndicator("Clock");
            tabs.addTab(spec);
            
            spec = tabs.newTabSpec("tag2");
            spec.setContent(R.id.tab2);
            spec.setIndicator("Button");
            tabs.addTab(spec);
            
            tabs.setCurrentTab(0);
        }
    }
    grazie a tutti in anticipo

  2.  
  3. #2
    Baby Droid


    Registrato dal
    May 2011
    Messaggi
    25

    Ringraziamenti
    0
    Ringraziato 7 volte in 7 Posts
    Predefinito

    Nell'XML puoi togliere il LinearLayout che non ha senso:

    XML:
     
    1
    <?xml version="1.0" encoding="utf-8"?>
    2
    <TabHost android:id="@+id/tabhost"
    3
        android:layout_width="fill_parent"
    4
        android:layout_height="fill_parent"
    5
        >
    6
    <TabWidget android:id="@+id/tabs"
    7
        android:layout_width="fill_parent"
    8
        android:layout_height="wrap_content"
    9
        />
    10
    <FrameLayout android:id="@android:id/tabcontent"
    11
        android:layout_width="fill_parent"
    12
        android:layout_height="fill_parent"
    13
        android:paddingTop="62px"
    14
        >
    15
    <AnalogClock android:id="@+id/tab1"
    16
        android:layout_width="fill_parent"
    17
        android:layout_height="fill_parent"
    18
        android:layout_centerHorizontal="true"
    19
        />
    20
    <Button android:id="@+id/tab2"
    21
        android:layout_width="fill_parent"
    22
        android:layout_height="fill_parent"
    23
        android:text="A semi-random button"
    24
        />
    25
        </FrameLayout>
    26
      </TabHost>
    27


    Nel java prova con:

    15
     
    1
    2
            TabHost tabHost = (TabHost) findViewById(R.id.tabhost);
    3
            tabHost.setup();
    4
    5
            // First TAB
    6
            tabHost.addTab(this.tabHost.newTabSpec("Tab 1")
    7
                    .setIndicator("Clock")
    8
                    .setContent(R.id.tab1));
    9
            
    10
            // Second TAB
    11
            tabHost.addTab(this.tabHost.newTabSpec("Tab 2")
    12
                    .setIndicator("Button")
    13
                    .setContent(R.id.tab2));
    14
    15
            this.tabHost.setCurrentTab(0); 


    Buon lavoro
    Ultima modifica di Andrea; 04-06-11 alle 12:33

  4. #3
    Baby Droid


    Registrato dal
    Jun 2011
    Messaggi
    13

    Ringraziamenti
    1
    Ringraziato 1 volta in 1 Post
    Predefinito

    grazie mille =)

    dunque provando il tuo codice mi da errori relativi al tabHost, più precisamente:

    16
     
    1
    2
    TabHost tabHost = (TabHost) findViewById(R.id.tabhost);  
    3
            tabHost.setup();  
    4
              
    5
            // First TAB  
    6
            tabHost.addTab(this.tabHost.newTabSpec("Tab 1")  
    7
                    .setIndicator("Clock")  
    8
                    .setContent(R.id.tab1));  
    9
              
    10
            // Second TAB  
    11
            tabHost.addTab(this.tabHost.newTabSpec("Tab 2")  
    12
                    .setIndicator("Button")  
    13
                    .setContent(R.id.tab2));  
    14
              
    15
            this.tabHost.setCurrentTab(0); 
    16


    tabHost cannot be resolved or is not a field

    ho dato l'esame di java lo scorso anno ed ora sono un pò arrugginito :P tabHost è dichiarata poco più su, perchè non può essere risolta?
    Ultima modifica di anearion; 02-06-11 alle 18:50

  5. #4
    Baby Droid


    Registrato dal
    May 2011
    Messaggi
    25

    Ringraziamenti
    0
    Ringraziato 7 volte in 7 Posts
    Predefinito

    Togli il this all'ultima riga.

    Inviato dal mio Nexus S usando Tapatalk

  6. Il seguente Utente ha ringraziato androidlab per il post:

    anearion (03-06-11)

  7. #5
    Baby Droid


    Registrato dal
    Jun 2011
    Messaggi
    13

    Ringraziamenti
    1
    Ringraziato 1 volta in 1 Post
    Predefinito

    togliendo tutti i this compila ( mamma mia, m'ero completamente scordato l'uso del this dopo un anno a C e basta ), però non risolve il problema del crash all'avvio

  8. #6
    Androidiano L'avatar di Jordano


    Registrato dal
    Nov 2010
    Località
    Reggio Emilia
    Messaggi
    263
    Smartphone
    Nexus S / HTC Magic 32a

    Ringraziamenti
    1
    Ringraziato 48 volte in 46 Posts
    Predefinito

    l'output di logcat sarebbe di aiuto

  9. #7
    Baby Droid


    Registrato dal
    Jun 2011
    Messaggi
    13

    Ringraziamenti
    1
    Ringraziato 1 volta in 1 Post
    Predefinito

    Scusate per l'assenza ma ho avuto un fine settimana impegnato, copio tutto l'output del logcat, comunque l'errore dovrebbe essere "java.lang.RuntimeException: Your TabHost must have a TabWidget whose id attribute is 'android.R.id.tabs' "

    codice:
    06-06 16:09:01.465: INFO/ActivityManager(58): Starting activity: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=prova.TabDemo/.TabDemo }
    06-06 16:09:01.725: INFO/ActivityManager(58): Start proc prova.TabDemo for activity prova.TabDemo/.TabDemo: pid=283 uid=10036 gids={1015}
    06-06 16:09:02.875: DEBUG/AndroidRuntime(283): Shutting down VM
    06-06 16:09:02.875: WARN/dalvikvm(283): threadid=1: thread exiting with uncaught exception (group=0x4001d800)
    06-06 16:09:02.895: ERROR/AndroidRuntime(283): FATAL EXCEPTION: main
    06-06 16:09:02.895: ERROR/AndroidRuntime(283): java.lang.RuntimeException: Unable to start activity ComponentInfo{prova.TabDemo/prova.TabDemo.TabDemo}: java.lang.RuntimeException: Your TabHost must have a TabWidget whose id attribute is 'android.R.id.tabs'
    06-06 16:09:02.895: ERROR/AndroidRuntime(283):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663)
    06-06 16:09:02.895: ERROR/AndroidRuntime(283):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
    06-06 16:09:02.895: ERROR/AndroidRuntime(283):     at android.app.ActivityThread.access$2300(ActivityThread.java:125)
    06-06 16:09:02.895: ERROR/AndroidRuntime(283):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
    06-06 16:09:02.895: ERROR/AndroidRuntime(283):     at android.os.Handler.dispatchMessage(Handler.java:99)
    06-06 16:09:02.895: ERROR/AndroidRuntime(283):     at android.os.Looper.loop(Looper.java:123)
    06-06 16:09:02.895: ERROR/AndroidRuntime(283):     at android.app.ActivityThread.main(ActivityThread.java:4627)
    06-06 16:09:02.895: ERROR/AndroidRuntime(283):     at java.lang.reflect.Method.invokeNative(Native Method)
    06-06 16:09:02.895: ERROR/AndroidRuntime(283):     at java.lang.reflect.Method.invoke(Method.java:521)
    06-06 16:09:02.895: ERROR/AndroidRuntime(283):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
    06-06 16:09:02.895: ERROR/AndroidRuntime(283):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
    06-06 16:09:02.895: ERROR/AndroidRuntime(283):     at dalvik.system.NativeStart.main(Native Method)
    06-06 16:09:02.895: ERROR/AndroidRuntime(283): Caused by: java.lang.RuntimeException: Your TabHost must have a TabWidget whose id attribute is 'android.R.id.tabs'
    06-06 16:09:02.895: ERROR/AndroidRuntime(283):     at android.widget.TabHost.setup(TabHost.java:103)
    06-06 16:09:02.895: ERROR/AndroidRuntime(283):     at prova.TabDemo.TabDemo.onCreate(TabDemo.java:15)
    06-06 16:09:02.895: ERROR/AndroidRuntime(283):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
    06-06 16:09:02.895: ERROR/AndroidRuntime(283):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
    06-06 16:09:02.895: ERROR/AndroidRuntime(283):     ... 11 more
    06-06 16:09:02.905: WARN/ActivityManager(58):   Force finishing activity prova.TabDemo/.TabDemo
    06-06 16:09:03.415: WARN/ActivityManager(58): Activity pause timeout for HistoryRecord{4509efc0 prova.TabDemo/.TabDemo}
    Ultima modifica di anearion; 13-06-11 alle 11:36

  10. #8
    zon
    zon non è in linea
    Baby Droid L'avatar di zon


    Registrato dal
    Sep 2011
    Località
    Alessandria
    Messaggi
    40
    Smartphone
    Samsung Galaxy Note 3 SM-N9005

    Ringraziamenti
    27
    Ringraziato 17 volte in 15 Posts
    Predefinito

    devi usare gli infilater x definire le viste...

    8
     
    1
    TabHost mTabHost = getTabHost();
    2
    3
            LayoutInflater.from(this).inflate(R.layout.viewxml, mTabHost.getTabContentView(), true);
    4
            mTabHost.addTab(mTabHost.newTabSpec("tab_test1").setIndicator("Cartellino").setContent(R.id.viewxml));
    5
            setBackgr(R.id.view)
    6
            
    7
    LayoutInflater.from(this).inflate(R.layout.viewxml2, mTabHost.getTabContentView(), true);
    8
            mTabHost.addTab(mTabHost.newTabSpec("tab_test2").setIndicator("Incassati").setContent(R.id.view2));


    dove R.layout.viewxml è il file xml dove hai definito il layout del primo tab, e R.id.view è l'id del layout da includere definito dentro a R.layout.viewxml.xml e con il toggle
    1
     
    1
    android:id="@+id/view
    ...
    stessa cosa è la spiegazione per il secondo tab...
    Ultima modifica di zon; 03-11-11 alle 00:12

    Ringrazia con il tasto thanks chi ti è stato utile!

    Se usi una bella app gratis ringrazia lo sviluppatore con un click sulla publicità.

    è solo buona educazione!

  11. #9
    Baby Droid


    Registrato dal
    Jun 2011
    Messaggi
    13

    Ringraziamenti
    1
    Ringraziato 1 volta in 1 Post
    Predefinito

    grazie per la risposta, ma è una discussione di 5 mesi fa, se non avevo risolto m'ero sparato

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire risposte
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Torna su
Privacy Policy