在OnClickListener中检索视图

巴勃罗·阿维拉·弗洛雷斯(Pablo Avila Flores)

我有一个与活动交流的片段。该片段有几个按钮,其中之一是“播放”。我为按下按钮时设置了一个onClickListener,并且还将监听器的接口传递给了活动,以在按下按钮时处理动作。

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {

    View view = inflater.inflate(R.layout.fragment_header, container, false); 

    play = (Button)view.findViewById(R.id.play);
    play.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
        listener.onButtonPressed(v);
        }
    });


public interface OnButtonPressedListener {
    public void onButtonPressed(View v);
}

问题在于,一旦完成活动,当我实现侦听器的接口时,它将收到按下按钮时传递的视图“ v”。然后,我尝试将我收到的视图与发起呼叫的特定按钮进行比较,以确保由于多个按钮共享同一接口,所以我按下了哪个按钮。由于某种原因,该比较无法正常工作,但是侦听器界面本身可以正常工作。你能告诉我我对这些家伙做错了什么吗?这是我的活动上的侦听器界面:

@Override
public void onButtonPressed(View v) {

    HeaderFragment h= new HeaderFragment();
      if (v==h.play){
          Toast.makeText(this,"View SI",Toast.LENGTH_LONG).show();
         if (mediaPlayer!=null){
地狱猫2405

我建议您为您的不同按钮创建不同的调用 listener

public ButtinsListener {
 void onPlayClicked()
 void onStop()
//etc
}

然后

 play.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
        listener.onPlayClicked();
        }
    });

==是参考比较,即两个对象都指向相同的存储位置。在您的情况下,View v和HeaderFragment的h.play是不同的对象,它们是不同的。另外h.play可能为null,因为此片段未附加到Activity且未实例化其任何视图。无论如何,请使用我上面显示的方法。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

从onClickListener检索图像(保存在sqlite中)

ViewPager onClickListener在Android中引用错误的视图

TabLayout中卡片视图的onClickListener无法正常工作

在线性布局中添加视图上的OnClicklistener

从子视图的父视图控制器中检索数组

如何在Android中对列表视图进行拉动刷新时禁用列表视图项上的onclickListener?

在没有OnClickListener的情况下在Android应用程序中检索Firebase数据

视图类型中的方法setOnClickListener(View.OnClickListener)不适用于自变量(新DialogInterface.OnClickListener(){})

expandablelistview子视图项onclicklistener

如何在c#,mvc中的jQuery(视图内)中的视图包中检索数据

如何检索用于在Oracle中创建视图的SQL?

如何在Laravel 5中检索视图名称?

从列表视图检索数据并将其显示在textview / imageview中

在计算函数中检索视图模型值的问题

如何从视图投影矩阵中检索相机的原点/位置?(OpenGL)

从解析中检索对象到表格视图单元格

Swift:在视图出现之前从异步调用中检索值

如何从主活动中的片段正确检索视图

在列表视图虚拟模式中检索一些项目

如何在自定义片段中的视图上添加 onClickListener?

如何在回收站视图 kotlin 中实现 onclicklistener 按钮

从列表视图检索数据

检索部分视图数据

如何为ListView中的项目设置onClickListener(通过从Firebase检索数据来动态生成Listview的项目)

列表中按钮的onclicklistener

在RecyclerView中创建onClickListener

Cardview OnClickListener中的图像

Android Studio中的OnClickListener

片段中的OnClickListener