提问人:PetiteMouse 提问时间:12/2/2022 更新时间:12/2/2022 访问量:17
如何更改片段中的文本?
How to change texts in Fragments?
问:
我想更改片段中的文本,但我总是收到这样的错误
java.lang.NullPointerException: Attempt to read from field 'android.widget.TextView com.javahelp.databinding.FragmentHomeBinding.Aboutus' on a null object reference in method 'android.view.View com.javahelp.frontend.fragments.HomeFragment.onCreateView(android.view.LayoutInflater, android.view.ViewGroup, android.os.Bundle)'
`
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
View v = inflater.inflate(R.layout.fragment_home, container, false);
binding.Aboutus.setText("Changed");
return v;
}
`
下面的一个是我切换片段的主页 `
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
binding = ActivityFgBinding.inflate(getLayoutInflater());
setContentView(binding.getRoot());
replaceFragment(new HomeFragment());
binding.bottomNavigationView.setOnItemSelectedListener(item ->{
switch(item.getItemId()){
case R.id.home:
replaceFragment(new HomeFragment());
break;
case R.id.account:
replaceFragment(new AccountFragment());
break;
case R.id.search:
replaceFragment(new SearchFragment());
break;
}
return true;
});
}
`
我原以为家庭片段中的“关于我们”这个词会变成“改变”。我正在尝试查看setText是否正常工作,但事实并非如此。我寻找可能的解决方案,但它们不起作用。所以我不确定如何解决这个问题。感谢一些帮助和建议!
答:
0赞
ninhnau19
12/2/2022
#1
你不能在 onCreateView 方法中设置文本,将此行放入 onViewCreated 方法中
评论