Question

i have a tabActivity from that i set activities as content of tabs. from an activity i try to disable the tabhost. how to achieve this.

  public class Main extends TabActivity {

public static final File sdcard = Environment.getExternalStorageDirectory();

 @Override
   public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    TabHost tabHost = getTabHost();

    TabSpec homespec = tabHost.newTabSpec("Home");
    homespec.setIndicator("Home");
    Intent homeIntent = new Intent(this, HomeActivity.class);
    homespec.setContent(homeIntent);

    TabSpec presentspec = tabHost.newTabSpec("Presentations");
    presentspec.setIndicator("Presentations");
    Intent presentIntent = new Intent(this, PresentationActivity.class);
    presentspec.setContent(presentIntent);

    TabSpec pendspec = tabHost.newTabSpec("Pending Submission");
    pendspec.setIndicator("Pending Submission" /*getResources().getDrawable(R.drawable.icon_videos_tab)*/);
    Intent pendingIntent = new Intent(this, PendingActivity.class);
    pendspec.setContent(pendingIntent);

    TabSpec syncspec = tabHost.newTabSpec("Synchronization");
    syncspec.setIndicator("Synchronization" /*getResources().getDrawable(R.drawable.icon_videos_tab)*/);
    Intent syncIntent = new Intent(this, SyncActivity.class);
    syncspec.setContent(syncIntent);

    tabHost.addTab(homespec); 
    tabHost.addTab(presentspec); 
    tabHost.addTab(pendspec);
    tabHost.addTab(syncspec);


}
}

this is my tbb activity

  public class SyncActivity extends Activity {
     class DownloadWebPageTask extends AsyncTask<String, Void, String> {

                   @Override
        protected void onPostExecute(String result) {
            end();
        }

        @Override
        protected String doInBackground(String... params) {

              progress.setVisibility(ProgressBar.VISIBLE);
              progress.setProgress(0);
              progress.setMax(1000);

            int currentPosition= 0;

            while (currentPosition<1000) {
                try {
                    Thread.sleep(500);
                    currentPosition+=100;
                } catch (InterruptedException e) {
                    return null;
                } catch (Exception e) {
                    return null;
                }            
                progress.setProgress(currentPosition);

            }
            return null;
        }
      }
    }

while i try this the other tabs should be disabled

Was it helpful?

Solution

TabActivity is deprecated now, try tab and fragments, you can find more information here

You can use boolean flag to handle tab enabled and when you try to change tab first of all you can check if tabs are active.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top