문제

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

도움이 되었습니까?

해결책

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.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top