0
  • 最佳答案

    看到你前面的调试了,没进

    Log.d(TAG,"进入了指示器的点击事件");


    那你就逆推,


    到这里


    colorTransitionPagerTitleView.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    //切换viewPager的内容,如果index不一样的话。
                    if (mOnTabClickListener != null) {
                        mOnTabClickListener.onTabClick(index);
                    }else {
                        Log.d("指示器的适配器", "index为空");
                    }
                }
            });
    


    这里也加一些log,或者打断点吧。


    1153952789488054272  评论     打赏       拉大锯
    • 成为勇  回复 @拉大锯
      设置了Log和断点后,发现都没有进入onTabClick( int index )和onClick( View v ),一到这些函数,下一步后直接到了函数的末尾处。 这种情况应该怎么排错呢?(我debug了一遍MagicIndicator的Demo,他的是可以进入点击事件的)
      成为勇 2020-08-25 12:18   回复 1295783909438644224
    • 拉大锯  回复 @成为勇
      不可能呀,你对着源码看一下吧,源码已经公开的了。
      拉大锯 2020-08-25 12:34   回复 1153952789488054272
  • 你现在现象是点击顶部的tab,没能切换是吧。


      Log.d(TAG,"进入了指示器的点击事件");


    这个log有输出吗?

    1153952789488054272  评论     打赏       拉大锯
    • 问题解决啦

      原因:是因为activity_main.xml文件中的跟标签没有设置成LinearLayout,并且设置属性 android:orientation="vertical"。所以点击指示器时根本就没有反应。


      解决:修改布局文件并重新运行即可。

      1295783909438644224  评论     打赏       成为勇
      • 更新调试信息



        1、未进入到点击函数

        1 在MainActivity中,无法进入onTabClick()函数:



        2 在IndicatorAdapter中,无法进入onClick函数:







        2、Indicator可能存在问题

        1. mIndicatorAdapter报红,说不存在这个实例





        1. 但是初始化完成后,IndicatorAdapter的Listener是不为空的。


        1295783909438644224  评论     打赏       成为勇
        • 拉大锯  回复 @成为勇
          晕菜,你把断点打在那里当然不进啦。那是设置监听。里面的方法在你点击的时候才调用。
          拉大锯 2020-08-25 12:35   回复 1153952789488054272
        • 成为勇  回复 @拉大锯
          不好意思哈大锯哥,😳 不过找到原因了:main_activity.xml中的布局没有改成LinearLayout,所以导致标签之间被覆盖了,最后就出现了“点击Indicator却没有反应”的结果。
          成为勇 2020-08-25 12:55   回复 1295783909438644224
        • 成为勇  回复 @拉大锯
          嗯嗯,问题解决了,十分感谢大锯哥辛勤解答,鞠躬
          成为勇 2020-08-25 12:57   回复 1295783909438644224
        • 拉大锯  回复 @成为勇
          那你以后学会使用tools->layoutInspactor来查看吧,那个工具就可以查出这个被覆盖的问题。
          拉大锯 2020-08-25 12:58   回复 1153952789488054272
        • 成为勇  回复 @拉大锯
          好东西,现在立刻去学习一下。
          成为勇 2020-08-25 13:02   回复 1295783909438644224
      相关问题
      幻影~ · 安卓
      2024-04-26 19:25 2 4
      deanhu · AOSP
      2024-04-25 21:53 3 10
      幻影~ · 提问
      2024-04-13 20:13 10 2
      幻影~ · 找工作
      2024-04-07 10:44 16 2
      幻影~ · 问题
      2024-03-31 17:20 7 2
      TONYGFX · AOSP
      2024-03-28 17:11 4 2