0

カスタムタブがあり、非常に1分後にWebサービスにアクセスし、Webからデータをフェッチするサービスをバックグラウンドで実行しています。次に、データを受信したときに最初のタブ画像が変更されるようにします。助けてください。よろしくお願いします。

私のコード

 public class MainTabActivity extends TabActivity {

 public static TabHost mTabHost;
 public static TextView offLineText;

private void setupTabHost() {
    mTabHost = (TabHost) findViewById(android.R.id.tabhost);             
    mTabHost.setup();  
}

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    requestWindowFeature(Window.FEATURE_NO_TITLE);        
    super.onCreate(savedInstanceState);
    setContentView(R.layout.tab_test);  
    offLineText=(TextView)findViewById(R.id.offlinetext);
    setupTabHost();  
    mTabHost.getTabWidget().setDividerDrawable(R.drawable.tab_divider); 
    setupTab(new TextView(this), "New Order!","NewOrderActivity.class",R.drawable.neworder);
    setupTab(new TextView(this), "Viewed Orders","ViewedOrderActivity.class",R.drawable.viewd);
    setupTab(new TextView(this), "Settings", "SettingActivity.class",R.drawable.setting);
    setupTab(new TextView(this), "Dashboard","DashboardActivity.class",R.drawable.view);      

}

private void setupTab(final View view, final String tag, final String className, int neworder) {
    View tabview = createTabView(mTabHost.getContext(), tag, mTabHost.getContext().getResources().getDrawable(neworder));

    Intent intent; 
    intent = new Intent().setClass(this, NewOrderActivity.class);
    if (className.equals("NewOrderActivity.class")) {
        intent = new Intent().setClass(this, NewOrderActivity.class);}
    if (className.equals("ViewedOrderActivity.class")) {
        intent = new Intent().setClass(this, ViewedOrderActivity.class);}    
    if (className.equals("SettingActivity.class")) {
        intent = new Intent().setClass(this, SettingActivity.class);}
    if (className.equals("DashboardActivity.class")) {

        intent = new Intent().setClass(this, DashboardActivity.class);
        }  

    TabSpec setContent = mTabHost.newTabSpec(tag).setIndicator(tabview).setContent(intent); {
    };
    mTabHost.addTab(setContent);
}

private static View createTabView(final Context context, final String text,final Drawable drawable) {

    View view = LayoutInflater.from(context).inflate(R.layout.tabs_bg, null);
    TextView tv = (TextView) view.findViewById(R.id.tabsText);
    tv.setText(text); 
    ImageView imageview=(ImageView) view.findViewById(R.id.imgTab);                   
    imageview.setImageDrawable(drawable);

    return view;        

}

}

4

1 に答える 1

0

使ってみましたHandlerか?http://developer.android.com/reference/android/os/Handler.html

于 2012-08-14T05:08:52.657 に答える