0
我有一個自定義選項卡,我在後臺運行一個服務,在1分鐘後打一個web服務,並從web.Now獲取一些數據。現在我想當收到數據時,第一個選項卡圖像被更改。 請help.Thanks提前。如何更改自定義選項卡的圖像,當收到一些通知
我的代碼
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;
}
}
是的,我已經使用,但沒有任何作品 – swati 2012-08-14 05:15:50
請顯示您的服務代碼以及哪些是觸發圖像更改。你是否試圖簡單地改變一個TextView而不是Tab-image,只是爲了弄清楚問題在哪裏? – Sangharsh 2012-08-14 05:27:21