2014-03-25 2 views
0

여러 개의 탭이있는 Android 응용 프로그램을 개발 중입니다.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; 
     } 
    } 

같은 클라이언트 활동을 시작하고 싶어하지만 난이 버튼을 클릭하면이 새로운 활동을 시작하지만 NOT 탭에 있습니다. 이 활동을 버튼 클릭시 탭에 표시하려면 어떻게해야합니까?

아래 코드는 입니다. 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(); 

       } 

      }); 
     } 
} 

답변

0

귀하의 ClientActivity가 귀하의 TabActivity 위에 실행되기 때문입니다. 그러면 탭바가 더 이상 표시되지 않습니다. ClientActivity에 조각을 사용하는 것이 좋습니다.

조각을 사용하는 방법 튜토리얼 : http://developer.android.com/guide/components/fragments.html

관련 문제