Gee*_*oid 8 android butterknife
有一个带有布局的BaseActivity和一个扩展了这个BaseActivity的子Activity.
如何绑定视图以便BaseActivity中的视图在BaseActivity中绑定,并且Sub活动中的视图绑定在那里?
以下是解释当前场景的示例代码, 注意:示例代码来自此处
基础活动
public class BaseActivity extends AppCompatActivity {
protected void onCreate(Bundle savedInstanceState, int layout) {
super.onCreate(savedInstanceState);
super.setContentView(layout);
ButterKnife.bind(this);
}
@Override
public void setContentView(int layoutResID) {
//I added my own implementation here
}
}
Run Code Online (Sandbox Code Playgroud)
次级活动
public class SplashActivity extends BaseActivity {
@BindView(R.id.txtName)
TextView txtName;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ButterKnife.bind(this);
}
}
Run Code Online (Sandbox Code Playgroud)
上面的场景产生了许多错误,例如无法找到带有id的视图,
经过大量的研究,我发现很多话题都在讨论,
所以在浏览完所有链接后,我尝试了以下组合,但没有一个工作
ButterKnife.bind(this) BaseActivity但不在SplashActivityButterKnife.bind(this)Activity.ButterKnife.bind(this)中SplashActivity,这个组合我无法访问BaseActivity的视图中的项目,因为他们竟然是空.我的问题如何绑定BaseActivity和SplashActivity查看项目?
确切的错误行
Caused by: java.lang.IllegalStateException: Required view '' with ID 2131296567 for field '' was not found. If this view is optional add '@Nullable' (fields) or '@Optional' (methods) annotation.
Run Code Online (Sandbox Code Playgroud)
为了您的好意,视图存在于布局中.
编辑1:
我添加了覆盖的代码 setContentView();