Android call onClick method without Clicking

前端 未结 4 835
野趣味
野趣味 2021-01-11 21:49

I want to use existing onClick method to make my program simpler. It consists of onClick method and other method:

@Override
public void onClick(View v) {
  s         


        
相关标签:
4条回答
  • 2021-01-11 22:36

    performClick() will play a sound just like if the user clicked on that view, therefore in most cases it's better to use callOnClick(), which will call the OnClickListener without playing any click sound. (Available since API level 15)

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH_MR1) myView.callOnClick(); //won't play sound
    else myView.performClick(); //will play sound
    
    0 讨论(0)
  • 2021-01-11 22:37

    you can use View.performClick()

    reference

    0 讨论(0)
  • 2021-01-11 22:49
    Handler handler = new Handler(  );
        handler.postDelayed( new Runnable() {
            @Override
            public void run() {
                // call the method below
            }
        },0 );
    
    0 讨论(0)
  • 2021-01-11 22:52
    public class DemoActivity extends AppCompatActivity implements View.OnClickListener{         
    
    Button mBtnAutomaticClick;
            protected void onCreate(Bundle savedInstanceState) {
                 super.onCreate(savedInstanceState);
                 setContentView(R.layout.activity_report_bug);
                 mBtnAutomaticClick = findViewById(R.id.automatic_click_demo);
                 mBtnAutomaticClick.setOnClickListener(this);
                 mBtnAutomaticClick.performClick(); // for automatic click event
              }
          }
    
    @Override
    public void onClick(View v) {
         switch (v.getId()) {
            case R.id.automatic_click_demo:
               // your code
               break;
        }
    }
    

    When activity will call your code which you have written inside onClick will be called automatically.

    0 讨论(0)
提交回复
热议问题