2014-03-25 108 views
0

我正在開發具有多個選項卡的android應用程序。Tab開始新活動時消失

現在在啓動器活動標籤顯示完美,並可以瀏覽標籤。 但如果我在按鈕單擊時調用活動(我想顯示爲Tab),則標籤似乎消失。

請參考給定的代碼,讓我知道如果我做錯了什麼。

這是主要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(); 

       } 

      }); 
     } 
} 

回答