首页 > 解决方案 > 如何通过多个视图调用“setOnClickListener”方法?

问题描述

我的页面中有多个Textviews, activity_main.xml。我只声明了一个OnClickListener用于所有 Textviews,如下所示:

public class NumbersClickListener implements View.OnClickListener {
    String text = "";


    @Override
   public void onClick(View view){
        Toast.makeText(view.getContext(),"Hi", Toast.LENGTH_SHORT).show();
   }
}

然后,我想从多个视图中调用此方法。如下代码:

TextView textview1 = (TextView) findViewById(R.id.textview1);
textview1 .setOnClickListener(clickListener);
TextView textview1 = (TextView) findViewById(R.id.textview2);
textview2 .setOnClickListener(clickListener);

那么如何为不同的视图制作不同的吐司呢?

标签: javaandroid

解决方案


您可以通过以下方式找到您当前在onClick(View view)方法中单击的视图:

     @Override
     public void onClick(View view){

        if(view.getId() == R.id.textView1){
            Toast.makeText(view.getContext(),"Hi First", Toast.LENGTH_SHORT).show();
        }

        else if(view.getId() == R.id.textView2){
            Toast.makeText(view.getContext(),"Hi Second", Toast.LENGTH_SHORT).show();
        }
    }

推荐阅读