android: using ActivityGroup to embed activities

前端 未结 2 1441
猫巷女王i
猫巷女王i 2020-11-29 05:49

Im in the conceptualizing/design phase of building an app and i\'ve hit a bit of a snag. Essentially i was looking for a way to embed one activity into the UI of another sim

相关标签:
2条回答
  • 2020-11-29 06:07

    Check The Following Link

    http://ericharlow.blogspot.com/2010/09/experience-multiple-android-activities.html

    Its The Solution For Me . Hope It will Help You as Well

    0 讨论(0)
  • 2020-11-29 06:11

    Yes, you'd implement an ActivityGroup, which will be the container of your other Activities. When the user clicks one of the buttons, you'd get a reference to the LocalActivityManager, and use it to start, and embed the inner activity. Something like this:

    LocalActivityManager mgr = getLocalActivityManager();
    
    Intent i = new Intent(this, SomeActivity.class);
    
    Window w = mgr.startActivity("unique_per_activity_string", i);
    View wd = w != null ? w.getDecorView() : null;
    
    if(wd != null) {
        mSomeContainer.addView(wd);
    }
    

    Note, using this method can be pretty complicated, because unless the focus is just right, pressing the hardware buttons (like the menu button) will only only trigger events on the ActivityGroup instead of the inner Activity. You have to find some way to focus the inner activity after you add it to the container view, at which point the even will happen in the inner activity and propagate to the container activity.

    It can be done, I've done it... and it works. It's just a bit more complicated than I think it should be.

    Anyway, I got most of this information by looking at the TabHost code, which can be found here

    0 讨论(0)
提交回复
热议问题