Android:无法编写我的自定义控件侦听器和回调以使用“点击以更改片段”。
在旧版本中,我成功实现了此功能,但是后来我尝试将PublicHeader文件从Activity转换为Fragment文件,存在一些错误,这是另一个问题。
现在,我已将PublicHeader文件重写为Activity文件:
如何理解自定义控件的“回调”和“实现接口”?
我已经尝试在下面的此链接中写回调函数(所有中文,请翻译):
尝试链接2:
声明:
private MainNavigationViewItem.OnClickListener mOnClickListener;
private MainNavigationItemClickListener mMainNavigationItemClickListener;
MainNavigationItem.java: 关于回调:
public void setMainNavigationItemClickListener(OnClickListener onClickListener) {
if (onClickListener != null) {
mImageView.setOnClickListener(onClickListener);
mTextView.setOnClickListener(onClickListener);
}
}
public ImageView getmImageView() {
return mImageView;
}
public TextView getmTextView() {
return mTextView;
}
MainActivity.java:
private void initListener(View.OnClickListener onClickListener) {
mOnClickListener.setMainNavigationItemClickListener(new View.OnClickListener onClickListener) { //wrong:")"or"[",")"or";"expected
@Override
public void onClick(View view) { //wrong:Cannot resolve symbol"view" ...
switch (mMainNavigationView.getId()){
尝试链接3:
MainNavigationItem.java:
关于回调代码:
...
MainNavigationItemClickListener mMainNavigationItemClickListener = null;
public void setMainNavigationItemClickListener(MainNavigationItemClickListener mMainNavigationItemClickListener) {
this.mMainNavigationItemClickListener = mMainNavigationItemClickListener;
}
MainActivity.java:
private void initListener(View.OnClickListener onClickListener) {
mOnClickListener.setMainNavigationItemClickListener(MainNavigationItemClickListener mMainNavigationItemClickListener) {
@Override
public void onClick(View.OnClickListener onClickListener) { //wrong:")"";"expected
switch (mMainNavigationView.getId()) {
...
我在上面尝试过,所有错误都在“ m .... set .......(View.OnClickListener / new OnClickListener ...)”中,并且模拟器点击自定义控件选项卡无法更改片段。