如何将焦点动态传递到活动中的下一个视图?

问题描述

我有一个自定义视图类,需要在其中将焦点从所述视图传递到活动中的下一个视图。我想在自定义视图类中编写一个独立的方法-不需要先了解目标活动-即可检索父活动对象,获取焦点队列中的下一个视图并将焦点传递给它。我不确定该怎么做。 (请参阅有关完成活动here的相关问题,因为我确定解决方案会重叠)。

这是我的自定义视图的骨架:

public class SuppressInputEditText extends androidx.appcompat.widget.AppCompatEditText {

    public SuppressInputEditText(Context context) {
        super(context);
    }

    public SuppressInputEditText(Context context,AttributeSet attrs) {
        super(context,attrs);
    }

    public SuppressInputEditText(Context context,AttributeSet attrs,int defStyleAttr) {
        super(context,attrs,defStyleAttr);
    }
    
    @Override
    public boolean onKeyPreIme(int keyCode,KeyEvent event) {
        return true;
    }

    @Override
    public boolean onKeyDown(int keyCode,KeyEvent event) {
        return true;
    }

    @Override
    public boolean onKeyUp(int keyCode,KeyEvent event) {
        switch (keyCode){
            case 20: //DPAD Down
                passFocus();
                break;
        }
        return true;
    }

    private void passFocus(){

        //todo: pass focus on to next view if there is one.

    }
    
}

(尽管这个问题与我在上面发布的问题有关,但由于焦点问题,我认为它是独立的。)

谢谢!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)