Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 8169403
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 6, 20262026-06-06T20:50:21+00:00 2026-06-06T20:50:21+00:00

In my android application i am using activity group inside tabs,am maintaining the list

  • 0

In my android application i am using activity group inside tabs,am maintaining the list of previous screens as well.The issue is,if we press back immediately after the screen gets loaded ,the Backpress method is not called and the app gets exited,whereas if i do the same after a delay say 30 secs in the screen it works as expected.Could not resolve the issue at all.Have debugged the code and have noticed that the new screen is added to the stacklist but the backpress method itself is not called.Tried implementing backpress in the activity and also in tabgroup class but no use.Please let me know where i am going wrong.The code that i use to add a activity is

Intent intent = new Intent(context, TrialActivity.class);
intent.putExtra("feedId", moreitems.get(arg2).getItem_id());
intent.putExtra("heading", moreitems.get(arg2).getItem_name());
TabGroupActivity parentActivity = (TabGroupActivity) ((Activity) context)
                    .getParent();
 parentActivity.startChildActivity(moreitems.get(arg2).getItem_name()
            + Calendar.getInstance().getTimeInMillis(), intent);

MyTabgroup class is

@SuppressWarnings("deprecation")
public class TabGroupActivity extends ActivityGroup {

    private ArrayList<String> mIdList;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        if (mIdList == null)
            mIdList = new ArrayList<String>();
    }
    @Override
    protected void onPause()
    {
        super.onPause();
    }

    @Override
    protected void onResume() {
        // to start the first activity every time on reload( on focus of tab).

        // remove the search activity if it is in the stack
        if (mIdList != null && mIdList.size() > 0) {
            int index = -1;
            for (int i = 0; i < mIdList.size(); i++) {
                String firstId = mIdList.get(i);
                if (firstId != null
                        && "search".equalsIgnoreCase(firstId.substring(0,
                                firstId.length() - 1))) {
                    index = i;
                }

            }
            if (index != -1) {
                LocalActivityManager manager = getLocalActivityManager();
                manager.destroyActivity(mIdList.get(index), true);
                mIdList.remove(index);
                index--;
                String lastId = mIdList.get(index);

                Intent lastIntent = manager.getActivity(lastId).getIntent();

                Window newWindow = manager.startActivity(lastId, lastIntent);
                setContentView(newWindow.getDecorView());
            }

        }
        super.onResume();
    }



    /**
     * This is called when a child activity of this one calls its finish method.
     * This implementation calls {@link LocalActivityManager#destroyActivity} on
     * the child activity and starts the previous activity. If the last child
     * activity just called finish(),this activity (the parent), calls finish to
     * finish the entire group.
     */

    @Override
    public void finishFromChild(Activity child) {

        LocalActivityManager manager = getLocalActivityManager();
        int index = mIdList.size() - 1;

        if (index < 1) {
            Alerts.exit("Confirm",
                    "Do you really wish to exit from iDream Media?", this);
            return;
        }

        manager.destroyActivity(mIdList.get(index), true);
        mIdList.remove(index);
        index--;
        String lastId = mIdList.get(index);
        Intent lastIntent = manager.getActivity(lastId).getIntent();

        Window newWindow = manager.startActivity(lastId, lastIntent);
        setContentView(newWindow.getDecorView());
    }

    /**
     * Starts an Activity as a child Activity to this.
     * 
     * @param Id
     *            Unique identifier of the activity to be started.
     * @param intent
     *            The Intent describing the activity to be started.
     * @throws android.content.ActivityNotFoundException.
     */
    public void startChildActivity(String Id, Intent intent) {

        Window window = getLocalActivityManager().startActivity(Id,
                intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP));
        if (window != null) {
            mIdList.add(Id);
            setContentView(window.getDecorView());
        }
    }

    /**
     * The primary purpose is to prevent systems before
     * android.os.Build.VERSION_CODES.ECLAIR from calling their default
     * KeyEvent.KEYCODE_BACK during onKeyDown.
     */
    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        if (keyCode == KeyEvent.KEYCODE_BACK) {
            // onBackPressed();
            // preventing default implementation previous to
            // android.os.Build.VERSION_CODES.ECLAIR
            return true;
        }
        return super.onKeyDown(keyCode, event);
    }

    /**
     * Overrides the default implementation for KeyEvent.KEYCODE_BACK so that
     * all systems call onBackPressed().
     */
    @Override
    public boolean onKeyUp(int keyCode, KeyEvent event) {
        if (keyCode == KeyEvent.KEYCODE_BACK) {
            onBackPressed();
            return true;
        }
        return super.onKeyUp(keyCode, event);
    }

    /**
     * If a Child Activity handles KeyEvent.KEYCODE_BACK. Simply override and
     * add this method.
     */
    @Override
    public void onBackPressed() {
        int length = mIdList.size();
        if (length > 1) {
            Activity current = getLocalActivityManager().getActivity(
                    mIdList.get(length - 1));
            current.finishFromChild(current);
        }
    }

}

Please let me know where i am going wrong.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-06T20:50:23+00:00Added an answer on June 6, 2026 at 8:50 pm

    I finally found out that the issue was beacause of the ads display on top of tab.Referred to the below link and it got resolved.
    Back button behavior with tabs and ActivityGroup

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I am using finish() to close current activity before quit application in Android. However,
I'm writing an android application using eclipse. I have a main activity called MenuActivity
I am developing an application using TabHost. I am using android default back button
I have an android tabbed application and inside one of my tabs is an
I'm developing an Android application that makes a Query using Activity.managedQuery() , which takes
When creating an Android application using Loaders, should every activity and fragment have its
In my android application I am starting the activity using broadcast receiver. If my
I have developed a android application using phonegap. I have registered certain recievers which
I've got an android application using a shared object in the JNI (that I
I am creating an android application using Java. I have a boolean variable called

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.