Android : Невозможно написать мой прослушиватель пользовательского элемента управления и обратный вызов для использования «касания, чтобы изменить фрагмент».
В старой версии я успешно реализовал это, но затем я попробовал файлы PublicHeader из Activity в Fragment files, есть некоторые ошибки, это другие вопросы.
Теперь я переписал файлы PublicHeader в файлы Activity:
Как понять "обратный вызов" пользовательского элемента управления и "интерфейс реализации"?
Я пытался написать обратный звонок по этой ссылке ниже (все на китайском, необходимо перевести, пожалуйста):
Примечание моего исследования: 复合 控件
Android 自定义控件 之 自 定义 组合 控件
Android 自 定义 复合 控件
Пробная ссылка 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:
О cкод обратного вызова:
...
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()) {
...
Я пробовал выше, ошибка все в "м .... установить ....... (Просмотреть.OnClickListener / new OnClickListener ...) ", и вкладка пользовательского элемента управления касания симулятора не может изменить фрагмент (ы).