Stack Overflow на русском Asked on January 4, 2022
Ошибка в Fragment не пойму как исправить, объясните пожалуйста почему в Fragment код работает не так как в Activity
public class Fragment_Menu_list_Tasks_Prapor_1 extends Fragment {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragment_menu_list_task_prapor_1, container, false);
}
@Override
public void onViewCreated(@NonNull final View view, @Nullable Bundle savedInstanceState)
{
ImageButton back = requireView().findViewById(R.id.back);
back.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Navigation.findNavController(view)
.navigate(R.id.action_fragment_Menu_list_Tasks_Prapor_1_to_fragment_Menu_list_Tasks_Prapor);
}
});
final ImageButton quick_menu = requireView().findViewById(R.id.quick_menu);
quick_menu.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v)
{
PopupMenu popupMenu = new PopupMenu(Fragment_Menu_list_Tasks_Prapor_1.this, quick_menu);
popupMenu.getMenuInflater().inflate(R.menu.quick_menu, popupMenu.getMenu());
popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem menuItem) {
return false;
}
});
}
});
}
}
Ошибка
error: incompatible types: Fragment_Menu_list_Tasks_Prapor_1 cannot be converted to Context
PopupMenu popupMenu = new PopupMenu(Fragment_Menu_list_Tasks_Prapor_1.this, quick_menu);
Если в активити что-то требует Context
, то this
передают, потому что активити наследуется от Context
. Фрагмент же не наследуется от Context, но его можно получить с помощью метода getContext()
PopupMenu popupMenu = new PopupMenu(getContext(), quick_menu);
Либо контекст можно получить из View
, которая приходит в OnClick
PopupMenu popupMenu = new PopupMenu(v.getContext(), quick_menu);
Answered by IR42 on January 4, 2022
Get help from others!
Recent Questions
Recent Answers
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP