2

我正在使用来自 android 支持库的新发布的底部导航视图 - 25.0.0。我正在尝试 setOnNavigationItemSelectedListener 并没有发生任何事情。当我尝试调试项目时,我看到错误:“没有这样的实例字段:'bottomNavigationView'”,但我的 bottomNavigationView 已初始化并且方法“getMaxItemCount”工作正常。

我意识到这不仅仅是“navigationListener”的问题,还有onClickListener的问题。因为这段代码:

bottomNavigationView = (BottomNavigationView) viewHierarchy.findViewById(R.id.tender_bottom_navigation);
bottomNavigationView.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            Toast toast = Toast.makeText(getActivity(), "clicky-clicky", Toast.LENGTH_LONG);
            toast.show();
        }
    });

也提供了相同的错误。我在现场看到了与布尔值相同的错误,但最常见的答案是“重新启动 android studio/清理项目”。我已经做了。你对此有什么想法吗?

可能没有办法在片段内实现bottomNavigationView?

编辑:我在活动类中尝试了这段代码,它有效!那么他为什么会在片段中失去领域呢?这对我来说仍然是个谜。

错误

编辑2:整个片段代码。

public class NewTenderFragment extends Fragment {

   BottomNavigationView bottomNavigationView;

   FragmentManager fragmentManager;
   FragmentTransaction fragmentTransaction;
   @Override
   public void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
   }

   @Override
   public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

       View viewHierarchy = inflater.inflate(R.layout.fragment_new_tender, container, false);
       bottomNavigationView = (BottomNavigationView) viewHierarchy.findViewById(R.id.tender_bottom_navigation);
       int t = bottomNavigationView.getMaxItemCount(); //this returns "5"
       bottomNavigationView.setOnClickListener(new View.OnClickListener() { //this returns such error
        @Override
        public void onClick(View view) {
            Toast toast = Toast.makeText(getActivity(), "clicky-clicky", Toast.LENGTH_LONG);
            toast.show();
        }
    });
   return viewHierarchy;
 }
4

0 回答 0