我刚刚将我的按钮onCreatView从我的activity_main.java
文件移动到了正确的文件 - 我的ConvertFragment.java
文件。
既然我已经复制并粘贴了代码,那么我的所有findViewById's
都会出现red-x错误......有什么想法吗?
提前感谢!
public class ConvertFragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_convert, container, false);
final EditText editDecimal = (EditText) findViewById(R.id.editDecimal);
final EditText editBinary = (EditText) findViewById(R.id.editBinary);
Button buttonConvert = (Button) findViewById(R.id.buttonConvert);
buttonConvert.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
int decimal = Integer.valueOf(editDecimal.getText().toString());
editBinary.setText(Integer.toBinaryString(decimal));
}
});
return rootView;
}
}
答案 0 :(得分:2)
这是因为片段没有方法findViewById()
。
<击> 您可以在活动中调用该方法:
getActivity().findViewById()
击> <击> 撞击>
或者只是使用刚刚膨胀的布局并在其中查找视图:
rootView.findViewById()
第二个更好(IMO),因为它不依赖于活动。