[Java Android] Activity aus Activity aufrufen mit untersch. Klassenerweiterungen

Bexx

Verrückte Erfinderin bei Daniel Düsentrieb
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 ;)

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");
    	}
    }
}

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);        
    }
}

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 :)

(Manifest und Layout File kann ich nach Wunsch auch gern posten)
 
Zurück