Android 如何在片段中初始化文本视图
这给了我一个错误: 尝试在空对象引用上调用虚拟方法“android.view.view android.view.view.findViewById(int)” 试试下面的解决方案Android 如何在片段中初始化文本视图,android,Android,这给了我一个错误: 尝试在空对象引用上调用虚拟方法“android.view.view android.view.view.findViewById(int)” 试试下面的解决方案 public class Device extends Fragment { TextView textv; public Device() { // Required empty public constructor } @Override public Vi
public class Device extends Fragment {
TextView textv;
public Device() {
// Required empty public constructor
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
textv = this.getView().findViewById(R.id.tv1);
textv.setText(Build.PRODUCT);
return inflater.inflate(R.layout.fragment_device, container, false);
}
}
我希望这能帮助你
谢谢大家! 通过覆盖
onViewCreated
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_device, container, false);
textv = view.findViewById(R.id.tv1);
textv.setText(Build.PRODUCT);
return view;
}
您可以在片段onCreateView()方法中这样做
尝试执行getActivity().findViewById()而不是此.getView().findViewById()您好!,请检查此处,这是否回答了您的问题E:\Android\u Project\Whatsapp\app\build\intermediates\signing\u config\debug\out\signing-config.json(访问被拒绝)
@Override
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
textv = view.findViewById(R.id.tv1);
textv.setText(Build.PRODUCT);
}
View rootView;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
rootView= inflater.inflate(R.layout.fragment_device, container, false);
initViews();
return rootView;
}
public void initViews(){
textv = rootView.findViewById(R.id.tv1);
textv.setText(Build.PRODUCT);
}