我正在使用Android支持库中新发布的Bottom Navigation View - 25.0.0。我正在尝试setOnNavigationItemSelectedListener,但没有发生任何事情。当我尝试调试项目时,我看到错误:"没有这样的实例字段:' bottomNavigationView'",但我的bottomNavigationView已初始化,方法" getMaxItemCount&#34 ;工作得很好。
我意识到它不仅仅是" 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;
}