【问题标题】:Tab Disappear when start new activity开始新活动时选项卡消失
【发布时间】:2014-03-25 08:27:14
【问题描述】:

我正在开发具有多个选项卡的 android 应用程序。

现在启动器中的活动选项卡可以完美显示,并且可以在选项卡中导航。 但是如果我在 Button Clicked 上调用活动(我想显示为选项卡),那么选项卡似乎消失了。

请参考给定的代码,如果我做错了什么,请告诉我。

这是主 TabActivity

public class MyTabActivity extends TabActivity {

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

        TabHost tabHost=getTabHost();

        TabSpec deshTab=tabHost.newTabSpec("Deshboard");

        deshTab.setIndicator("Deshboard");
        Intent DeshboardIntent=new Intent(this,DeshboardActivity.class);
        deshTab.setContent(DeshboardIntent);

        tabHost.addTab(deshTab);


        TabSpec clientTab=tabHost.newTabSpec("client");
        clientTab.setIndicator("client");

        Intent intent=new Intent(this,ClientActivity.class);
        clientTab.setContent(intent);
        tabHost.addTab(clientTab);

    }
}

现在我想开始像这样的客户活动

void onButtonClick(View view)
    {
        int id = view.getId();
        switch(id)
        {
        case R.id.client_btn:

            Intent clientIntent = new Intent(DeshboardActivity.this,ClientActivity.class);
            startActivity(clientIntent);
            break;
        }   
    }

但是当我单击此按钮时,它会启动新活动,但不在选项卡中。 我应该怎么做才能在按钮单击的选项卡中显示此活动。?

下面的代码是 ClientActivity 我想显示为 TAB。

public class ClientActivity extends Activity

    {
        private DatabaseHandler dbHandler;
        private ListView clientListView ;
        private BaseAdapter listAdapter;
        TabHost tabHost;

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


            dbHandler = new DatabaseHandler(this);
            final List<Client> clientList = dbHandler.getAllclient();

            clientListView = (ListView)findViewById(R.id.client_list);
            listAdapter = new ClientListAdapter(this, clientList);
            clientListView.setAdapter(listAdapter);
            clientListView.setOnItemClickListener(new OnItemClickListener() 
            {

                @Override
                public void onItemClick(AdapterView<?> parent, View view,int position, long id) 
                {
                    Client client = clientList.get(position);
                    Toast.makeText(getApplicationContext(), client.getFirstName(), Toast.LENGTH_LONG).show();

                    Intent clientInfoIntent = new Intent(getApplicationContext(), ClientInfoActivity.class);
                    clientInfoIntent.putExtra("client",client);
                    startActivity(clientInfoIntent);
                    //finish();

                }

            });
        }
}

【问题讨论】:

    标签: android tabs android-activity android-tabactivity


    【解决方案1】:

    那是因为您的 ClientActivity 是在您的 TabActivity 之上启动的。这样你的标签栏就不再显示了。 我建议您为 ClientActivity 使用片段。

    如何使用片段的教程: http://developer.android.com/guide/components/fragments.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多