Прикосновение к пользовательской вкладке управления для изменения функции: setXXXListener () был понят и неверен - PullRequest
0 голосов
/ 06 июля 2019

Android : Невозможно написать мой прослушиватель пользовательского элемента управления и обратный вызов для использования «касания, чтобы изменить фрагмент».

В старой версии я успешно реализовал это, но затем я попробовал файлы PublicHeader из Activity в Fragment files, есть некоторые ошибки, это другие вопросы.

Теперь я переписал файлы PublicHeader в файлы Activity:

Как понять "обратный вызов" пользовательского элемента управления и "интерфейс реализации"?

Я пытался написать обратный звонок по этой ссылке ниже (все на китайском, необходимо перевести, пожалуйста):

  1. Примечание моего исследования: 复合 控件

  2. Android 自定义控件 之 自 定义 组合 控件

  3. 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 ...) ", и вкладка пользовательского элемента управления касания симулятора не может изменить фрагмент (ы).

...