Как вернуться к родительскому действию из дочернего действия при использовании вкладок в Android - PullRequest
1 голос
/ 31 января 2012

У меня есть две вкладки A, B с соответствующими TabActivityA и TabActivityB. У меня есть третий ActivityA1, который отсутствует на вкладке, но является промежуточным действием, полученным из ActivityA.

Вот код в последовательности

 public class AndroidTabLayoutActivity extends TabActivity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        TabHost tabHost = getTabHost();

        // Tab for Home
        TabSpec homeSpec = tabHost.newTabSpec("Home");
        homeSpec.setIndicator("Home", getResources().getDrawable(R.drawable.icon_home_tab));
        Intent homeIntent = new Intent(this, TabActivityA.class);
        homeSpec.setContent(homeIntent);


        // Tab for my cases
        TabSpec helppec = tabHost.newTabSpec("Help");
        // setting Title and Icon for the Tab
        helppec.setIndicator("Help", getResources().getDrawable(R.drawable.icon_cases_tab));
        Intent helpIntent = new Intent(this, TabActivityB.class);
        mycasesspec.setContent(helpIntent);


        // Adding all TabSpec to TabHost
        tabHost.addTab(homeSpec); // Adding home tab
        tabHost.addTab(help); // Adding help tab

    }

ActivityA1 extends Activity
{
}

TabActivityA extends ActivityGroup
{
.....
Intent nextScreen = new Intent(getApplicationContext(), ActivityA1.class);
 View view = getLocalActivityManager().startActivity("ActivityA1",  nextScreen.addFlags(Intent.FLAG_ACTIVITY_PREVIOUS_IS_TOP)).getDecorView(); 
 setContentView(view);
}

Примечание: я делаю это, потому что хочу показать те же вкладки для ActivityA1

Здесь отображается вкладка (Главная и Справка) на ActivityA1, однако при нажатии на вкладку «Главная» я хочу, чтобы пользователь перешел на TabActivityA, но сейчас он остается только на ActivityA1.

Любая помощь будет принята с благодарностью !!

1 Ответ

0 голосов
/ 01 февраля 2012

Хорошо, я думаю, я понимаю, о чем вы сейчас спрашиваете, просто сохраните arrayList of View, добавьте его в этот список перед вызовом SetContentView, затем, когда вы будете готовы вернуться к предыдущему View, выполните SetContentView (list [count - 1 ]), также убедитесь, что вы удалили предыдущее представление и удалите его, иначе оно останется в памяти навсегда ...

...