我正在使用来自 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;
}