我正在使用Butterknife而且我遇到了问题,当我想要为另一个片段更改片段时,应用程序失败了。这是我的第一个片段
@Bind(R.id.tilNombre) TextInputLayout tilNombres;
@Bind(R.id.tilApellido) TextInputLayout tilApellido;
@Bind(R.id.tilDocumento) TextInputLayout tilDocumento ;
@Bind(R.id.btnContinuar) Button btnContinuar;
public RegistroFragment() {
// Required empty public constructor
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
View view = inflater.inflate(R.layout.fragment_registro, container, false);
ButterKnife.bind(this, view);
return view;
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
app();
}
void app(){
tilNombres.setHint(getResources().getString(R.string.nombres));
tilApellido.setHint(getResources().getString(R.string.apellidos));
tilDocumento.setHint(getResources().getString(R.string.licencia));
events();
}
void events(){
btnContinuar.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
RegistroTwoFragment registroTwoFragment = new RegistroTwoFragment();
android.support.v4.app.FragmentTransaction fragmentTransaction = getFragmentManager().beginTransaction();
fragmentTransaction.replace(R.id.contenedorRegistro, registroTwoFragment).commit();
}
});
}
在那段代码中我没有任何问题,问题出在下一部分
public class RegistroTwoFragment extends Fragment {
@Bind(R.id.tilCorreo) TextInputLayout tilCorreo;
@Bind(R.id.tilClave) TextInputLayout tilClave;
@Bind(R.id.btnRegistrar) TextInputLayout btnRegistrar;
@Bind(R.id.tviRetroceder) TextInputLayout tviRetroceder;
public RegistroTwoFragment() {
// Required empty public constructor
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
View view = inflater.inflate(R.layout.fragment_registro_two, container, false);
ButterKnife.bind(this,view);
return view;
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
app();
}
void app(){
tilCorreo.setHint(getResources().getString(R.string.correo));
tilClave.setHint(getResources().getString(R.string.contrasena));
events();
}
void events(){
tviRetroceder.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
RegistroFragment registroFragment = new RegistroFragment();
android.support.v4.app.FragmentTransaction fragmentTransaction = getFragmentManager().beginTransaction();
fragmentTransaction.replace(R.id.contenedorRegistro, registroFragment).commit();
}
});
}
logcat说:无法绑定com.example.aato.ciudadano.fragments.RegistroTwoFragment的视图;有谁知道这个问题??
答案 0 :(得分:0)
要检查的一些事项:
fragment_registro_two
布局实际包含@Bind(R.id.xyz)
语句中使用的资源ID。TextInputLayout
实际上是所有绑定资源的正确类型吗?