Android:在GridView中的多个textView上滑动/拖动

问题描述

对于一个爱好项目,我组装了一个GridView,其中包含多个TextView,每个包含一个字母。当用户在网格上滑动时,应使用字母来构造字符串,类似于滑动锁定模式或滑动键盘的行为:

App Screenshot

我正在使用一个板载适配器,该板载适配器覆盖getViewgetItem函数以动态生成TextView,其中board包裹了一个自动填充的2D数组加上字母:

    override fun getItem(position: Int): String {
        return board.getString(getCol(position),getRow(position))
    }

    override fun getView(position: Int,convertView: View?,parent: ViewGroup?): View {
        val textView : SquaredTextView

        textView.text = getItem(position)
        textView.gravity = Gravity.CENTER
        textView.textSize = 40f

        return textView
    }

我不想使用要求手动检查触摸事件的x坐标和y坐标是否在TextView之类的this的边界框内的hacky方法。我可以使用哪种侦听器来跟踪多个TextView上的滑动手势的触摸事件,并根据其内容构建字符串?

到目前为止,我尝试过的部分摘录:

我将TextView细分为onTouchEvent,将onHoverEvent等细分为控制台,但是仅触发了触摸事件,并且只要滑动手势离开{{ 1}}开始于:

TextView

我还尝试将2020-10-29 19:06:22.059 5169-5169/com.example.myfirstapp D/Touch/L: MotionEvent { action=ACTION_DOWN,actionButton=0,id[0]=0,x[0]=103.94824,y[0]=116.98364,toolType[0]=TOOL_TYPE_FINGER,buttonState=0,classification=NONE,MetaState=0,flags=0x0,edgeFlags=0x0,pointerCount=1,historySize=0,eventTime=3726741,downTime=3726741,deviceid=0,source=0x1002,displayId=0 } 2020-10-29 19:06:22.119 5169-5169/com.example.myfirstapp D/Touch/L: MotionEvent { action=ACTION_MOVE,x[0]=94.778076,y[0]=137.42896,historySize=3,eventTime=3726841,displayId=0 } 2020-10-29 19:06:22.136 5169-5169/com.example.myfirstapp D/Touch/L: MotionEvent { action=ACTION_CANCEL,x[0]=918.45154,y[0]=162.47711,historySize=2,eventTime=3726858,displayId=0 } 添加OnItemClickListener,但从未被解雇。在GridView上使用OnTouchListener时,我找不到从触摸事件中找出各个GridView方法

我也在互联网和StackOverflow上搜索了我的问题,但只是找到了诸如thisthis之类的结果,但都没有一个可接受的答案。如果已经在某个地方回答了该问题,请随时向我指出。预先感谢!

解决方法

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

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

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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...