نمایش نتایج 1 تا 4 از 4

نام تاپیک: مشکل در اجرای interface در هنگام touch

  1. #1

    مشکل در اجرای interface در هنگام touch

    سلام
    یک interface به صورت زیر نوشتم :
    public interface SListener{
    public void clickReceive(String data);
    }

    بعد در کلاس زیر(SearchBarTools ) اونو set کردم :
      private SListener sListener;

    public void setsListener(SListener sListener) {
    if (sListener != null) {
    this.sListener = sListener;
    this.sListener.clickReceive("Salam");
    // onActivate();
    // activate();
    }
    }

    کلاسی که می خوام از اون استفاده کنم :
       private SearchBarTools searchBarTools=new SearchBarTools(getContext());
    searchShortcut.setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(View v) {
    deActivate();
    searchBarTools.setsListener(new SListener() {
    @Override
    public void clickReceive(String data) {
    Log.i("data","data"+data);
    searchBarTools.activate();
    }
    });
    }
    });

    سوالم اینه که نحوه پیاده سازی درست هست؟ ؛ هدفم این هست که وقتی کاربر روی searchShortcut زد در کلاسه دیگه یک اتفاقی بیفته

  2. #2

    نقل قول: مشکل در اجرای interface در هنگام touch

    نوع فراخونیت درست نیست. این مثال رو ببین


    FragmentMessagesList.setOnAllUnreadMessages(new FragmentMessagesList.IOnAllUnreadMessages() {
    @Override public void onCount(int count) {
    if (count != 0) {
    UI.tv_message_count.setText(count + "");
    UI.tv_message_count.setVisibility(View.VISIBLE);
    } else {
    UI.tv_message_count.setVisibility(View.INVISIBLE);
    }
    }
    });

  3. #3

    نقل قول: مشکل در اجرای interface در هنگام touch

    ممنون ، فعلا مشکل حل نشده (تو یک حلقه میفته ) اگر تونستم حل کنم جوابشو قرار میدم

  4. #4

    نقل قول: مشکل در اجرای interface در هنگام touch

    برای اینکار نیازی به استفاده از interface نیست بلکه باید از یک فیلد به همراه getter,setter استفاده کرد
    تعریف فیلد مورد نظر در کلاس مربوطه :
    private OnClickListener backButtonListener;

    public void setBackButtonListener(OnClickListener backButtonListener)
    {
    this.backButtonListener=backButtonListener;
    }
    private OnClickListener getBackButtonListener()
    {
    return backButtonListener;
    }

        searchShortcut.setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(View v) {
    if(getBackButtonListener()!=null)
    {
    backButtonListener.onClick(v);

    }
    }
    });

    جایی که باید استفاده بشه :
     resultContainer.setBackButtonListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
    resultContainer.deActivate();
    searchBarTools.activate();

    }
    });

    می خواستم دو اتفاق دو کلاسه مورد نظر بیفته که اینطوری در کلاس اصلی میفته

تاپیک های مشابه

  1. پاسخ: 2
    آخرین پست: سه شنبه 01 آذر 1390, 09:45 صبح
  2. پاسخ: 7
    آخرین پست: جمعه 06 آبان 1390, 00:21 صبح
  3. حرفه ای: مشکل با اجرای برنامه هنگام بالا آمدن سیستم
    نوشته شده توسط ferankyy در بخش C#‎‎
    پاسخ: 5
    آخرین پست: یک شنبه 21 فروردین 1390, 11:32 صبح
  4. حرفه ای: مشکل با اجرای برنامه هنگام راه اندازی سیستم
    نوشته شده توسط ferankyy در بخش C#‎‎
    پاسخ: 0
    آخرین پست: یک شنبه 21 فروردین 1390, 10:04 صبح
  5. مشکل در اجرای برنامه در سیستم مقصد
    نوشته شده توسط khafanovich در بخش کامپوننت های سایر شرکت ها، و توسعه کامپوننت
    پاسخ: 4
    آخرین پست: شنبه 04 مرداد 1382, 09:05 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •