Tag: onclicklistener

如何在回收视图中为自定义ViewHolder实现OnClickListener?

我正在创建一个应用程序,应该显示在recyclerview中的蓝牙设备,我希望用户能够单击项目执行操作。 现在我只是试图让吐司出现在点击后,但我想可能会显示一个对话框给对选择等,但我明显缺少的东西在我onclicklistener的用法。 我试图让我的ViewHolder类: DeviceHolder实现View.OnClickListener ,并将调用Toast.makeText()内我的onClick覆盖。 然而,没有任何事情发生。 我相信我只是错过了一些小事,并会感谢帮助find问题。 另外,我正在做的这kotlin,我是新来的,如果有可能更有效,kotlintypes的方式做到这一点,也将有所帮助。 我在下面张贴我的代码。 提前致谢。 class DeviceAdapter(val mContext : Context) : RecyclerView.Adapter(){ val mDevices = ArrayList() interface OnClickListener{ fun onClick(v: View) } fun updateItems(list: ArrayList){ mDevices.clear() mDevices.addAll(list) Log.d(TAG, “updating items : $mDevices”) notifyDataSetChanged() } fun ViewGroup.inflate(@LayoutRes res: Int, attachToRoot: Boolean = false): View{ return LayoutInflater.from(mContext).inflate(res, this, attachToRoot) } override fun […]

处理android kotlin中的click事件:setOnClickListener只有在双击时才起作用

我在DialogFragment中有一个按钮可以返回到另一个活动。 但只有双击时才能使用。 我正在用尽想法。 在我的XML文件中,我已经尝试了以下(以不同的方式组合,但没有一个工作) 我的整个片段的XML文件 至于我的DialogFragment,我试图把我的setOnClickListener放在onViewCreated()方法里面,然后放在onStart()里面和onResume()方法里面。 它只在双击时才能工作。 我也有一个计时器,让对话在10秒后消失,然后把我带到我想要的活动,所以这不是一个问题,但我真的需要并想要解决它。 如果我将计时器设置为5秒或更低,当然,它给人的印象是按钮一次点击,但实际上没有。 class PaymentDoneDialogFragment : DialogFragment() { private lateinit var mYesBtn: Button private lateinit var mActionYes: () -> Unit override fun onViewCreated(view: View, @Nullable savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) dialog.setCanceledOnTouchOutside(false) dialog.window.requestFeature(Window.FEATURE_NO_TITLE) dialog.window.setDimAmount(.85f) dialog.window.setFlags(WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE, WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE) dialog.setCancelable(false) dialog.setCanceledOnTouchOutside(false) dialog.window.decorView.systemUiVisibility = activity?.window!!.decorView.systemUiVisibility dialog.window.clearFlags(WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE) mDialogTitle = view.find(R.id.tv_payment_done_title) if (mTitle != null) { […]

Android Kotlin子onClick阻止父OnTouch

我有这个布局层次结构: 我已经触摸父LinearLayout事件像这样: parent.setOnTouchListener(myCustomTouchParent) class MyCustomTouchParent(ctx: Context): View.OnTouchListener { private var isScrollingDown = false private var isScrollingUp = false private val myGestureDetected = GestureDetector(ctx, MyGestureListener()) var onRecyclerViewMovingDown: (() -> Unit)? = null override fun onTouch(p0: View?, e: MotionEvent): Boolean { myGestureDetected.onTouchEvent(e) when(e.action){ MotionEvent.ACTION_UP -> { if (isScrollingDown) { onRecyclerViewMovingDown?.invoke() } } MotionEvent.ACTION_DOWN -> { Log.i(“TAg”, “Action […]

从Java转换到Kotlin OnClickListener

我在这个代码可以被翻译的方式上遇到麻烦。 所以我在JAVA中有几个代码,如下所示: 为按钮设置的OnClickListener: Button.OnClickListener mTakePicSOnClickListener = new Button.OnClickListener() { @Override public void onClick(View v) { dispatchTakePictureIntent(ACTION_TAKE_PHOTO_S); } }; 然后,我有按钮本身,并将该OnClickListener应用于该按钮的函数: Button picSBtn = (Button) findViewById(R.id.btnIntendS); setBtnListenerOrDisable( picSBtn, mTakePicSOnClickListener, MediaStore.ACTION_IMAGE_CAPTURE ); 那我有这个function: private void setBtnListenerOrDisable( Button btn, Button.OnClickListener onClickListener, String intentName ) { if (isIntentAvailable(this, intentName)) { btn.setOnClickListener(onClickListener); } else { btn.setText( getText(R.string.cannot).toString() + ” ” + […]

不要为AdapterView调用setOnClickListener

我试图关闭一些自定义软键盘,每当一个列表视图被点击。 但是,android显然不允许为完整的ListView设置Click Listeners。 以下行 listview.setOnClickListener { softkeyboard?.hideContent() } 结果是一个例外,告诉我 不要为AdapterView调用setOnClickListener Listview被包装在一个LinearLayout中。 如果我在这个LinearLayout上设置监听器,它不会收到任何点击事件。 也使用 listview.setOnItemClickListener { parent, view, position, id -> softkeyboard?.hideContent() } 并没有解决问题:它只适用于项目上的直接存储,列表中有大量的区域,其中没有项目可见,但有背景。 点击背景也可以。

RecyclerView onClick

有没有人使用RecyclerView找到一种方法来设置一个onClickListener项目在RecyclerView ? 我想为每个项目的每个布局设置一个监听器,但这看起来有点太麻烦了,我确信RecyclerView有一个方法来监听onClick事件,但是我无法弄清楚。

如何在回收视图中为自定义ViewHolder实现OnClickListener?

我正在创建一个应用程序,应该显示在recyclerview中的蓝牙设备,我希望用户能够点击项目执行操作。 现在我只是试图让吐司出现在点击后,但我想可能会显示一个对话框给对选择等,但我明显缺少的东西在我onclicklistener的用法。 我试图让我的ViewHolder类: DeviceHolder实现View.OnClickListener ,并将调用Toast.makeText()内我的onClick覆盖。 然而,没有任何事情发生。 我相信我只是失去了一些小事,并会感谢帮助找到问题。 另外,我正在做的这kotlin,我是新来的,如果有可能更有效,kotlin类型的方式做到这一点,也将有所帮助。 我在下面张贴我的代码。 提前致谢。 class DeviceAdapter(val mContext : Context) : RecyclerView.Adapter<DeviceAdapter.DeviceHolder>(){ val mDevices = ArrayList<BluetoothDevice>() interface OnClickListener{ fun onClick(v: View) } fun updateItems(list: ArrayList<BluetoothDevice>){ mDevices.clear() mDevices.addAll(list) Log.d(TAG, "updating items : $mDevices") notifyDataSetChanged() } fun ViewGroup.inflate(@LayoutRes res: Int, attachToRoot: Boolean = false): View{ return LayoutInflater.from(mContext).inflate(res, this, attachToRoot) } override fun […]