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

Activity aus Activity aufrufen mit untersch. Klassenerweiterungen

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von BarneyLovesbeer, 03.08.2011.

  1. BarneyLovesbeer, 03.08.2011 #1
    BarneyLovesbeer

    BarneyLovesbeer Threadstarter Neuer Benutzer

    Beiträge:
    2
    Erhaltene Danke:
    0
    Registriert seit:
    03.08.2011
    Hey folks,

    ich bin neu in der Java for Android Ecke und versuche gerade in einem Demoprojekt ein wenig rumzuspielen.

    mein Ziel ist es aus einer "Activity" extendeten Klasse eine andere Klasse mit der Erweiterung "TabActivity" aufzurufen. Problem dabei: Es geht nicht [​IMG]

    [JAVA]public class Test123Activity extends Activity implements android.view.View.OnClickListener{
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);


    View v = findViewById(R.id.Button1);
    v.setOnClickListener(this);
    ((Button)v).setText("Click To Get Forwarded");
    }

    public void showToast(CharSequence text){
    Context context = getApplicationContext();
    int duration = Toast.LENGTH_SHORT;
    Toast toast = Toast.makeText(context, text, duration);
    toast.show();
    }

    public void onClick(View view)
    {
    switch (view.getId())
    {
    case R.id.Button1:
    ((Button)view).setText("...Pressed");
    showToast("You're now being forwarded to another page...");
    Intent i = new Intent(this, TabControlActivity.class);
    startActivity(i);
    break;
    default: ((Button)view).setText("...Pressed");
    }
    }
    }[/JAVA]


    meine TabControlKlasse sieht so aus:

    [JAVA]public class TabControl extends TabActivity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.layout_tabbar);

    Resources resources = getResources(); /* contains resources, like drawables in path >>resources */
    TabHost tabHost = getTabHost(); /* Container instance for handling tabs */
    TabHost.TabSpec tabSpecification; /* Reusable for Tab Specification */
    Intent intent; /* Reusable */

    /* Intent to launch an Activity for the tab (can be reused) */

    intent = new Intent().setClass(this, LedActivity.class);

    // Initialization and specification for each tab in order to add them to the TabHost
    tabSpecification = tabHost.newTabSpec("LedActivity").setIndicator("LED Configuration",
    resources.getDrawable(R.drawable.ic_tab_artists))
    .setContent(intent);
    tabHost.addTab(tabSpecification);

    // Do the same for the other tabs
    intent = new Intent().setClass(this, someActivity.class);
    tabSpecification = tabHost.newTabSpec("someActivity").setIndicator("Tab 1",
    resources.getDrawable(R.drawable.ic_tab_artists))
    .setContent(intent);
    tabHost.addTab(tabSpecification);

    intent = new Intent().setClass(this, someOtherActivity.class);
    tabSpecification = tabHost.newTabSpec("someOtherActivity").setIndicator("Tab 2",
    resources.getDrawable(R.drawable.ic_tab_artists))
    .setContent(intent);
    tabHost.addTab(tabSpecification);

    tabHost.setCurrentTab(1);
    }
    }[/JAVA]

    Gehe ich jetzt hin und verweise statt auf meine TabControl Klasse auf eine ganz normal Activity extended Klasse funktioniert es.

    Das ist momentan noch etwas über meinem Niveau, daher bräuchte ich einen kleinen Denkanstoß.

    Mercii [​IMG]

    (Manifest und Layout File kann ich nach Wunsch auch gern posten)
     
  2. Fr4gg0r, 03.08.2011 #2
    Fr4gg0r

    Fr4gg0r App-Anbieter (Werbung)

    Beiträge:
    2,506
    Erhaltene Danke:
    447
    Registriert seit:
    21.12.2009
    geht nicht ist ne tolle problembeschreibung^^
     
    swordi bedankt sich.
  3. the_alien, 03.08.2011 #3
    the_alien

    the_alien Android-Lexikon

    Beiträge:
    1,559
    Erhaltene Danke:
    184
    Registriert seit:
    04.05.2009
    Intent i = new Intent(this, TabControlActivity.class);

    public class TabControl extends TabActivity

    Mich wundert, dass er das kompiliert...
     
  4. BarneyLovesbeer, 03.08.2011 #4
    BarneyLovesbeer

    BarneyLovesbeer Threadstarter Neuer Benutzer

    Beiträge:
    2
    Erhaltene Danke:
    0
    Registriert seit:
    03.08.2011
    Hab das nachträglich geändert mit den Namen. Was genau ihm fehlt weiß ich leider auch nicht, im Emulator kommt lediglich die Meldung "Activity encountered a problem and stopped unexpectedly" oder sowas in diese Richtung...
     
  5. soma-web, 03.08.2011 #5
    soma-web

    soma-web App-Anbieter (kostenpfl.)

    Beiträge:
    146
    Erhaltene Danke:
    18
    Registriert seit:
    06.07.2011
    Und was gibt die LogCat aus?
    Evtl mal das ManiFest checken?
     
    Zuletzt bearbeitet: 03.08.2011

Diese Seite empfehlen