Android BadgeView не отображается во фрагменте при запуске

#android #android-fragments

#Android #android-фрагменты

Вопрос:

Я использовал BadgeView и хочу показывать номер значка при запуске вкладки фрагмента. BadgeView был успешно показан в классе FragmentActivity, но почему-то он не отображается в классе Fragment. Пожалуйста, помогите мне… вот мой код

 enter code here
  

информация о общедоступном классе расширяет фрагмент {

 @Override
  public void onAttach(Activity activity) {
    super.onAttach(activity);
  }

@Override
public void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
    Bundle savedInstanceState) {
    // TODO Auto-generated method stub

    return inflater.inflate(R.layout.activity_info, container, false);

}

@Override
public void onStart() {
    // TODO Auto-generated method stub
    super.onStart();

    TabWidget tabs = (TabWidget) getView().findViewById(android.R.id.tabs);
    BadgeView badge = new BadgeView(getActivity().getApplicationContext(),tabs,2);
    badge.setText("8");
    badge.show();       


}
  

}

Комментарии:

1. попробуйте это TabWidget tabs = (TabWidget) getActivity().findViewById(android.R.id.tabs);

2. Вау, да!!!!! Это работа!! Дорогой простой план, большое спасибо.. ты спасаешь меня!

Ответ №1:

Вы должны изменить это

  TabWidget tabs = (TabWidget) getView().findViewById(android.R.id.tabs);
  

Для

  TabWidget tabs = (TabWidget) getActivity().findViewById(android.R.id.tabs);
  

Комментарии:

1. в моем случае это не сработало, в моей mainactivity я создал свои вкладки (я использую tabayot для вкладок), и когда я пробую этот метод во фрагменте, он не выдает никаких ошибок, но значок не отображается. я не знаю, в чем проблема. пожалуйста, помогите