1. Nimm jetzt an unserem Uhans - 3. ADVENT - Gewinnspiel teil - Alle Informationen findest Du hier!

activity starten

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von micha91, 21.02.2011.

  1. micha91, 21.02.2011 #1
    micha91

    micha91 Threadstarter Neuer Benutzer

    Beiträge:
    13
    Erhaltene Danke:
    0
    Registriert seit:
    21.02.2011
    Phone:
    HTC Wildfire S
    Hallo,

    bin neu hier im Forum und der Android entwicklung.
    Ich versuche durch Klick auf einen Button, eine neue Activity zu starten. Wenn ich allerdings den Button klicke, stürzt die App ab.
    Woran kann das liegen?

    Hier meine Quelltexte:

    TestActivity.java

    Code:
    package com.TestActivity;
    
    import android.app.Activity;
    import android.content.Intent;
    import android.os.Bundle;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.Button;
    
    public class TestActivity extends Activity 
    {
    	/** Called when the activity is first created. */
        Button karteAnzeigen;
        @Override
        public void onCreate(Bundle savedInstanceState) 
        {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
           
            karteAnzeigen = (Button)findViewById(R.id.karteAnzeigen);
            OnClickListener karteAnzeigen = new OnClickListener()
            {
            	public void onClick(View v)
            	{
            		startActivity(new Intent(TestActivity.this, karteAnzeigen.class));
            	}
            };
        }
    }

    karteAnzeigen.java

    Code:
    package com.TestActivity;
    
    import android.os.Bundle;
    
    public class karteAnzeigen extends TestActivity
    {
    	
    
    	public void onCreate(Bundle savedInstanceState)
    	{
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.karte_anzeigen);
    	}
    }

    AndroidManifest.xml

    Code:
    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="com.TestActivity"
          android:versionCode="1"
          android:versionName="1.0">
    
    
        <application android:icon="@drawable/icon" android:label="@string/app_name">
            <activity android:name=".TestActivity"
                      android:label="@string/app_name">
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
            </activity>
    		<activity android:name=".kartenAnzeigen"></activity>
        </application>
    </manifest>
     
  2. mr.freeze, 21.02.2011 #2
    mr.freeze

    mr.freeze Android-Hilfe.de Mitglied

    Beiträge:
    74
    Erhaltene Danke:
    1
    Registriert seit:
    02.09.2010
    welcher fehler wird denn angezeigt?
    logcat?
     
  3. FelixL, 21.02.2011 #3
    FelixL

    FelixL Ehrenmitglied

    Beiträge:
    4,855
    Erhaltene Danke:
    754
    Registriert seit:
    26.11.2009
    Phone:
    Wileyfox Swift, HTC One M8
    <activity android:name=".kartenAnzeigen"></activity>

    Soll das karteAnzeigen heißen?

    Edit: Willkommen im Forum ;)
     
  4. micha91, 22.02.2011 #4
    micha91

    micha91 Threadstarter Neuer Benutzer

    Beiträge:
    13
    Erhaltene Danke:
    0
    Registriert seit:
    21.02.2011
    Phone:
    HTC Wildfire S
    hab den Eintrag im AndroidManifest geändert, allerdings keine Änderung.
    Beim Klick auf den Button, stürzt die Anwednung mit folgender Meldung ab:

    Code:
    java.lang.IllegalStateException: Could not find a method onClickKarteAnzeigen(View) in the activity class com.TestActivity.TestActivity for onClick handler on view class android.widget.Button with id 'karteAnzeigen'
    

    Danke für eure Hilfe :thumbsup:
     
  5. swordi, 22.02.2011 #5
    swordi

    swordi Gewerbliches Mitglied

    Beiträge:
    3,389
    Erhaltene Danke:
    441
    Registriert seit:
    09.05.2009
    du hast im xml beim button ein

    android:onClick="onClickKarteAnzeigen"

    (Nur eine vermutung, da der code davon nicht da ist)


    dann brauchst dann eine

    public void onClickKarteAnzeigen(View v) Methode
     
  6. micha91, 22.02.2011 #6
    micha91

    micha91 Threadstarter Neuer Benutzer

    Beiträge:
    13
    Erhaltene Danke:
    0
    Registriert seit:
    21.02.2011
    Phone:
    HTC Wildfire S
    ja, stimmt.

    aber wie sieht das ganze dann aus?

    Hab jetzt folgenden Code:

    Code:
    package com.TestActivity;
    
    import android.app.Activity;
    import android.content.Intent;
    import android.os.Bundle;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.Button;
    
    public class TestActivity extends Activity 
    {
    	/** Called when the activity is first created. */
        Button karteAnzeigen;
        @Override
        public void onCreate(Bundle savedInstanceState) 
        {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
           
            karteAnzeigen = (Button)findViewById(R.id.karteAnzeigen);
            OnClickListener karteAnzeigen = new OnClickListener()
            {
            	public void onClickKarteAnzeigen(View v)
            	{
            		startActivity(new Intent(TestActivity.this, karteAnzeigen.class));
            	}
            };
        }
    }
    
    aber jetzt gefällt ihm der "new OnClickListener()" nicht!?
    Was mach ich denn dauernd falsch?

    Naja, wie gesagt, bin erst am Anfang der Entwicklung.
     
  7. swordi, 22.02.2011 #7
    swordi

    swordi Gewerbliches Mitglied

    Beiträge:
    3,389
    Erhaltene Danke:
    441
    Registriert seit:
    09.05.2009
    wenn du im xml bereits onclick angibst, benötigst du im code keinen listener mehr

    android übernimmt dir hier das tippen.
     
  8. micha91, 22.02.2011 #8
    micha91

    micha91 Threadstarter Neuer Benutzer

    Beiträge:
    13
    Erhaltene Danke:
    0
    Registriert seit:
    21.02.2011
    Phone:
    HTC Wildfire S
    vielen Dank.
    es funktioniert jetzt. Hab allerdings "android:onclick"karteAnzeigen" aus meiner XML genommen.
     

Diese Seite empfehlen