سؤال

لقد استخدمت زر صورة اثنين من المقبل والخلف ، واستخدمت حدث OnClick لتلك الزر التي أريد أن يطلق النار على زر الصورة على OnClick وتشغيل وظيفة معينة للحدث التالي أو في حدث OnClick كيف سأحصل

هل كانت مفيدة؟

المحلول

يمكنك استخدام فئات داخلية مجهولة الكشف عن هويتها لكتابة وظيفة onclick لكل زر.

Button button1 = getMyButton();
button1.setOnClickListener(new OnClickListener() {
   @Override
   public void onClick(View v) {
      // button 1 was clicked!
   }
  });
Button button2 = getMyButton();
button2.setOnClickListener(new OnClickListener() {
   @Override
   public void onClick(View v) {
      // button 2 was clicked!
   }
  });

كما ذكر Konstantin ، يمكنك أيضًا استخدام المرور في العرض وتبديل المعرف. ومع ذلك ، أجد ذلك أكثر فوضى إذا انتهى بك الأمر بالكثير من الأشياء القابلة للنقر.

نصائح أخرى

استخدم View.getId () للتمييز بين وجهات النظر المختلفة التي تطلق أحداث onclick.

@Override
public void onClick(View view) {
    switch (view.getId()) {
    case R.id.download:
    //code..
    break;
    case R.id.play:
    //code..
    break;
    case R.id.pause:
        //code..
    break;
    default:
        //code..
    break;
    }
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top