Articles of onclicklistener

CardView的OnClickListener?

如何将OnClickListener附加到CardView ? 我希望每张卡片在点击时都有不同的动作。 我有一个RecyclerView ,它有一个用于显示卡片的自定义适配器。 这就是它的实现方式 。

Android上的“按住”按钮需要使用onTouchListener更改状态(自定义XML选择器)

我有一个按钮图形需要“按住”function,所以我没有使用onClickListener,而是使用onTouchListener,以便应用程序可以对 MotionEvent.ACTION_DOWN, 和 MotionEvent.ACTION_UP 根据触发这两个事件的速度,我可以在两者之间的时间内运行“pressAndHoldHandler”。 无论如何,长话短说:我在同一个应用程序中有许多“基本”按钮,不需要按住function,所以他们使用的是onClickListener。 这些按钮中的每一个都已使用自己的XML选择器文件以图形方式自定义: 所以,这里的问题是:使用onTouchListener无法访问上面的选择器。 只有onClickListener将使用自己的方法的onClick()部分拉入状态更改,因此这些“按住”按钮永远不会更改状态。 对用户来说非常可怕的反馈。 我正在通过执行以下操作在ACTION_DOWN和ACTION_UP的开关案例中强制执行上述操作: if (action == MotionEvent.ACTION_DOWN) { btn_chicken.setBackgroundResource(R.drawable.btn_chicken_s3); } else if (action == MotionEvent.ACTION_UP) { btn_chicken.setBackgroundResource(R.drawable.btn_chicken_off); } 但它似乎是一个黑客,它错过了“专注但没有压力”的阶段。 之前有人绊过这个吗?

Android – 以编程方式更改交换机的状态,而不触发OnCheckChanged侦听器

我正在寻找一种使用switch.setChecked(true);以编程方式更改Android Switch小部件状态的方法switch.setChecked(true); 没有触发OnCheckedChangedlistener 。 我的第一个想法是将它换成一个OnClickListener但因为这只记录点击次数,你不仅可以点击而且还可以滑动一个Switch然后它不适合用途,就像用户要将Switch从关闭滑到开启一样然后Switch实际上什么都不做,因为用户没有点击… 如果有人为此获得解决方案或聪明的工作,那将是非常棒的

为什么ViewHolder上的OnClickListener不起作用?

我正在尝试实现一种在RecyclerView上处理项目选择的方法。 我个人不喜欢在通过手势的一些答案中建议的方式,我认为实现一个OnClickListener ,正如这里和这里所建议的,是更清洁。 事实是……这种模式实际上并不起作用! 我真的无法理解为什么我的OnClickListener.onClick 永远不会被调用。 它有点像另一种方法拦截点击之前onClick可以处理它。 这是我的代码: public class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener { TextView tvName; ImageView star; public ViewHolder(View itemView) { super(itemView); tvName = (TextView) itemView.findViewById(R.id.CHAT_ITEM_name); star = (ImageView) itemView.findViewById(R.id.CHAT_ITEM_star); Fonts.setTypeface(tvName, regular); } @Override public void onClick(View view) { int position = getLayoutPosition(); select(position); } } 不幸的是,能够访问整个数据集中被点击项目的位置非常重要,以便将其删除,所以做一些像indexOfChild这样的事情也是不可接受的:我试过,但是这个方法给你的位置列表的visibile部分中的项目,从而使list.remove(position)不可能。

Android setOnClickListener方法 – 它是如何工作的?

我无法理解这段代码。 我得到findViewById将获得按钮小部件,然后它将投射它。 然后,它将使用该按钮来调用setOnClickListener方法。 但是,我不知道该参数是什么传递给setOnClickListener ,我以前从未见过这样的代码。 它是如何创建一个新对象但是能够在另一个方法的参数中创建自己的方法? 如果有人可以解释那将是很好的。 另外, setOnClickListener方法接受什么types的对象? btn = (Button)findViewById(R.id.firstButton); btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { tv.setText(months[rand.nextInt(12)]); tv.setTextColor(Color.rgb(rand.nextInt(255)+1, rand.nextInt(255)+1, rand.nextInt(255)+1)); } });

可点击的图像区域

我正在设计一个GUI远程控制,但我没有为每个远程按钮制作单独的按钮,而是希望获得一个完整的就绪远程图像并设置它的某些部分可点击。 是否有一种方式而不是运动事件来做到这一点?

Android – OnClick Listener在一个单独的类中

是否可以创建一个二级类来保存OnClick侦听器? 意义没有在Activity类中创建? 我只是发现在主活动类中放置OnClick监听器只是凌乱,我宁愿将它们放在不同的类中。 谢谢

如何为ImageButton组合OnClickListener和OnTouchListener

当用户点击ImageButton时,我需要做一些事情我试图创建一个实现OnClickListener和OnTouchListener的静态类 static class ClickListenerForScrolling implements OnClickListener, OnTouchListener 有以下方法: @Override public void onClick(View v) 和 @Override public boolean onTouch(View arg0, MotionEvent arg1) 这背后的整个想法是在用户触摸时更改ImageButton的图像源,并在用户单击此按钮时执行任务。 任何人都可以给我一个如何做到这一点的提示吗?

如何以编程方式触发Onclick事件?

我有一个自定义视图,有2个线性布局:第一个是视图的标题,第二个是详细信息视图。 在自定义视图中,已定义标题Linearlayout的OnClickListener:当它触发时,它会折叠/展开第二个linearlayout。 我想要做的是为我的标题的OnClickListener事件添加更多function(即:折叠/展开第二个布局并显示Toast)。 我无法修改自定义视图的源代码。 我尝试设置一个新的OnClickListener,但它隐藏了初始事件(折叠/展开)。 我该如何实现呢? 我的自定义视图的源代码: public class ExpandoLayout extends ViewGroup { /* some declarations */ private Linearlayout header; private linearlayout footer; /* some code */ @override protected void onFinishInflate() { header= new LinearLayout(context); header.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { toggleExpand(); } }); } } 我想要做的是在我的活动中为已经定义的OnClickListener事件添加一些代码。 像这样的东西: public class myActivity extends […]

将多个侦听器附加到android中的视图?

是否可以将多个onClick侦听器附加到android中的按钮? 例: btn1.setOnClickListener(listener1); btn1.setOnCliclListener(listener2); 当单击按钮时,触发listener1和listener2的事件? 在普通的GUI应用程序中,我知道我们可以为事件附加多个事件处理程序。 是否有可能是Android或有任何限制? 此致,拉里斯