请大神指点下,AndroidTV中viewpager+fragment用法中的fragment不能进行onfocus监听?

代码太多就不全贴了,贴上有问题的onfocus部分,viewpager+fragment就是网上常规的用法。
public class MainActivity extends FragmentActivity implements View.OnFocusChangeListener,
View.OnClickListener {
@Override
public void onCreate (Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

             findViewById(R.id.fragmentba).setOnFocusChangeListener(this);//标签1
    findViewById(R.id.fragmentbb).setOnFocusChangeListener(this);//标签2
    findViewById(R.id.fragmentbc).setOnFocusChangeListener(this);//标签3
    findViewById(R.id.fragmentbd).setOnFocusChangeListener(this);//标签4
    findViewById(R.id.button1).setOnFocusChangeListener(this);//fragment1中的APP1
    findViewById(R.id.button2).setOnFocusChangeListener(this);fragment2中的APP1

             @Override
public void onFocusChange(View v,boolean b) {
    if (b) {
        Log.i(TAG, "onFocusChangs" + v.getId());
        MoveFrame.focusAnimator(v,onFocusView);//调用焦点框的方法
        if (v.getId() == R.id.fragmentba) {
            mViewPager.setCurrentItem(0);//焦点框在标签1时,显示fragment1
        } else if (v.getId() == R.id.fragmentbb) {
            mViewPager.setCurrentItem(1);//焦点框在标签2时,显示fragment2
        } else if (v.getId() == R.id.fragmentbc) {
            mViewPager.setCurrentItem(2);//焦点框在标签3时,显示fragment3
        } else if (v.getId() == R.id.fragmentbd) {
            mViewPager.setCurrentItem(3);//焦点框在标签4时,显示fragment4
        }
    }
}

}

1个回答

你为什么不监听pager的change事件呢,判断当前fragement的index

weixin_43831915
weixin_43831915 判断当前fragment的index后,下一步怎么做呢,请帮忙指点,谢谢!
一年多之前 回复
weixin_43831915
weixin_43831915 出问题的是fragment中的APP不能获取焦点框。是onfocuschanglistener部分。
一年多之前 回复
weixin_43831915
weixin_43831915 监听pagerchange了这部分属于滑动翻页,没出现问题,所以代码没贴。
一年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐