Как показать панель вкладок на весь экран приложения? он исчезает в следующей активности - PullRequest
0 голосов
/ 27 апреля 2011

Android

Я создал Tabbar в нижней части в Android.Он хорошо работает для одного экрана, но когда я перехожу к другой деятельности, он исчезает.

Ответы [ 4 ]

0 голосов
/ 10 июня 2011

Используйте это, чтобы начать новое занятие

View view = getLocalActivityManager().startActivity("tab1", new Intent(this,tab1.class)
.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP))
.getDecorView();

setContentView(view);
0 голосов
/ 27 апреля 2011

Вы назначили панель вкладок только на одно действие, поэтому очевидно, что оно исчезнет для остальных действий.Таким образом, вы должны поместить панель вкладок на каждое действие.Что бы я сделал, это поместил панель вкладок в отдельный файл XML (например, layout / tabbar.xml) ... и использовал тег <include> на других макетах XML, чтобы избежать повторения одного и того же кода дважды или более.

0 голосов
/ 27 апреля 2011

Попробуйте

        public class Tab1ActivityGroup extends ActivityGroup
    {
        public static Tab1ActivityGroup group1;
        @Override
        protected void onCreate(Bundle savedInstanceState)
        {

            group1 = this;

            View view = getLocalActivityManager()
                .startActivity("Tab1Activity", new Intent(this, Tab1Activity.class)
                .addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP))
                .getDecorView();

            replaceView(view);
        }

        public void replaceView(View v)
        {
            v.setFocusable(true);
            v.setFocusableInTouchMode(true);
            v.requestFocus();

            setContentView(v);
        }
    }




public class Tab1Activity extends Activity
{

    @Override
    protected void onCreate(Bundle savedInstanceState) 
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.tab_one_activity);

    }


        View v = Tab1ActivityGroup.group1.getLocalActivityManager()
                    .startActivity("NewActivityFromTabActivity", intent)
                    .getDecorView();
        Tab1ActivityGroup.group.replaceView(v);

}
0 голосов
/ 27 апреля 2011
host= (TabHost)findViewById(android.R.id.tabhost);
        host.setup();


        TabHost.TabSpec spec;

        // Create an Intent to launch the first Activity for the tab (to be reused)  
        Intent i = new Intent().setClass(this, activity1.class);  

        spec = host.newTabSpec ("FirstGroup").setIndicator("activity1",getResources().getDrawable(R.drawable.imagename)).setContent(i);  

        host.addTab(spec);  
 TabHost.TabSpec spec;


        // Create an Intent to launch the first Activity for the tab (to be reused)  
        Intent i = new Intent().setClass(this, activity2.class);  

        spec = host.newTabSpec ("FirstGroup").setIndicator("activity2",getResources().getDrawable(R.drawable.imagename)).setContent(i);  

        host.addTab(spec);  

Вы должны использовать свою активность в tabhost, не начинайте деятельность самостоятельно

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...