Activity aus Activity aufrufen mit untersch. Klassenerweiterungen

B

BarneyLovesbeer

Neues Mitglied
0
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
wink.gif


[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
smile.gif


(Manifest und Layout File kann ich nach Wunsch auch gern posten)
 
geht nicht ist ne tolle problembeschreibung^^
 
  • Danke
Reaktionen: swordi
Intent i = new Intent(this, TabControlActivity.class);

public class TabControl extends TabActivity

Mich wundert, dass er das kompiliert...
 
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...
 
Und was gibt die LogCat aus?
Evtl mal das ManiFest checken?
 
Zuletzt bearbeitet:

Ähnliche Themen

Helmut1A
  • Helmut1A
Antworten
7
Aufrufe
1.114
Helmut1A
Helmut1A
M
  • maksimilian
Antworten
15
Aufrufe
1.651
maksimilian
M
R
  • Robby1950
2
Antworten
23
Aufrufe
954
Robby1950
R
Zurück
Oben Unten