یه زوش دیگه برای event handler

پرسیده شده
فعالیت 1548 روز پیش
دیده شده 1017 بار
2

ابتدا بعد از تعریف کلاس اکتیویتی ویو های مورد استفاده خودمون رو میاییم و تعریف می کنیم من اینجا دو تا ویوی مورد نظر خودم رو تعریف کردم


    public Button editProfile;
    public Button saveInformation;

سپس در متد onCreate به صورت زیر عمل میکنیم


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        setupViews();
    }

 

همون طور که میبینید برای هندل کردن ویو ها متدی به اسم setupViews رو تعریف کردم که قراره توی اون بلاک من آیدی برای ویو های خودم تعیین کنم


    public void setupViews() {
        editProfile = findViewById(R.id.btn_main_editProfile);
        editProfile.setOnClickListener(this);

        saveInformation = findViewById(R.id.btn_main_save_information);
        saveInformation.setOnClickListener(this);
    }

 

نکته ای که داره اینه که بجای اینکه onClickListener رو همون جا تعریف کنم پارامتر this رو بهش پاس دادم که خود کلاس این ویو رو هندل کنه که لازمه اش اینه که ما بیاییم تو ابتدای تعریف کلاس و کلاس View.OnClickListener رو implement کنیم که بعد از این کار اندروید استدیو از ما میخواد که متد onClick رو Override کنیم ، که من به صورت زیر انجام دادم

@Override
public void onClick(View v) {
    switch (v.getId()) {
        case R.id.btn_main_editProfile :
            editProfileHandler();
    }
}

این متد یک پارامتر از جنس View میگیره و این ویو میتونه هر ویویی باشه که ما توی پروژه استفاده کردیم ، فقط باید از بلاک swich/case استفاده کنیم تا مشخص کنیم برای کدوم ویو میخواییم یه عملکردی تعیین کنیم که من در اینجا فقط برای ویو editProfile این کار رو انجام دادم.

// handler for edit profile button
private void editProfileHandler() {
    Toast.makeText(this, "editProfile", Toast.LENGTH_SHORT).show();
}

خب تموم شد (:

ولی خب راه های زیادی من دیدم که میتونید از اینجا مشاهده کنید

فایل پیوست

علی باقری
علی باقری

15 بهمن 98

0
حذف شده

ممنون علی جالب بود منم  بعضی وقتا از attr خوده btn ها به اسم onClick استفاده میکنم 

فایل پیوست

مهرداد

توسط

مهرداد

15 بهمن 98