0
사용자 정의 탭이 있고 백그라운드에서 서비스를 실행하고 있는데 1 분 후에 웹 서비스에 도달하고 web.Now에서 일부 데이터를 가져옵니다. 데이터가 수신되면 첫 번째 탭 이미지가 변경됩니다. 도와주세요. 미리 감사드립니다.알림 수신시 사용자 정의 탭의 이미지를 변경하는 방법
내 코드
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;
}
} 당신이 Handler
를 사용하여 시도해 봤어
예 사용했지만 아무 것도 작동하지 않습니다. – swati
이미지 변경을 유발하는 서비스 코드도 함께 표시하십시오. 문제가있는 곳을 알아 내기 위해 Tab 이미지 대신 TextView를 변경해 보았습니까? – Sangharsh