android – 无法将null值注入类中
作者:互联网
我有一个我想重用的片段.它的功能是相同的,只有布局改变
我正在使用roboguice将id注入视图中
我添加了这个视图,例如:
@Nullable
@InjectView(R.id.edtEventLocationAddress)
private EditText edtEventLocationAddress;
现在,在onCreateView方法中提供的给定布局中,此视图可能存在也可能不存在
这就是我把@Nullable放在上面的原因
但是,当我运行应用程序时,没有此视图的布局,我得到了
java.lang.NullPointerException: Can't inject null value into class
com.myapp.CreateEventPageFragment.edtEventLocationAddress when field is not @Nullable
我需要做些什么来使roboguice允许我重用片段,只改变他们的观点?
解决方法:
一个迟到的答案,但以防万一其他人偶然发现这一点.
您可能正在使用android.support.annotation.Nullable或具有@Retention(RetentionPolicy.CLASS)(或RetentionPolicy.SOURCE)的类似注释.但是,您需要使用在运行时保留的@Nullable注释以供RoboGuice查找.例如.这个:
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
@Target({ElementType.FIELD, ElementType.METHOD,
ElementType.PARAMETER,
ElementType.LOCAL_VARIABLE})
@Retention(RetentionPolicy.RUNTIME)
public @interface Nullable {}
标签:android,dependency-injection,android-fragments,roboguice 来源: https://codeday.me/bug/20190628/1320327.html