如何从tabspec活动中禁用tablayout中的选项卡

时间:2012-11-22 13:23:15

标签: android android-tabhost android-tabs android-tabactivity

我有一个tabActivity,我将活动设置为标签的内容。从一个活动我尝试禁用tabhost。如何实现这一点。

  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);


}
}

这是我的tbb活动

  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;
        }
      }
    }

我尝试这个时应该禁用其他标签

1 个答案:

答案 0 :(得分:0)

现在不推荐使用TabActivity,尝试制表符和片段,您可以找到更多信息here

您可以使用布尔标志来处理启用的选项卡,当您首先尝试更改选项卡时,可以检查选项卡是否处于活动状态。