ذكري المظهر:OnClicklistener
-
27-10-2019 - |
سؤال
لدي مشكلة...لدي وجهات نظر نصية مختلفة مع المستمع.مثل هؤلاء:
help_modul.setOnClickListener(this);
help_timetable.setOnClickListener(this);
help_credits.setOnClickListener(this);
help_todo.setOnClickListener(this);
وهنا مستمعي:
@Override
public void onClick(View v) {
String temp= v.getId(); // DOESNT WORK
Toast.makeText(this, temp, Toast.LENGTH_LONG).show();
}
في مستمعي أريد أن أختلف بين وجهة نظري النصية....على سبيل المثال، انقر فوق حقل نص "أ"، افعل ذلك، إذا قمت بالنقر فوق حقل نص آخر، فقم بعملية أخرى..
هل لديك أي اقتراحات؟
المحلول
جرب شيئًا مثل هذا: Genacodicetagpre
نصائح أخرى
يمكنك ذلك أ) جعل InstanceListeners مثل: Genacodicetagpre
أو يمكنك ذلك ب) تحقق من حالات عرض النص الخاص بك: Genacodicetagpre
استخدم حالة التبديل Genacodicetagpre
في هذا البيان String temp= v.getId(); // DOESNT WORK
أنت تحصل على معرف العرض الذي هو من نوع البيانات long
ومن ثم التنازل ل String
متغير، والذي قد يكون صحيحا ولكنه نهج سيء.
استخدم هذا الكود المحسن في مكانه:
@Override
public void onClick(View v) {
if(v.getId() == help_modul.getId())
{
/*do some work on the click*/
}
else if(v.getId() == help_timetable.getId())
{
/*do some work on the click*/
}
else if(v.getId() == help_credits.getId())
{
/*do some work on the click*/
}
else if(v.getId() == help_todo.getId())
{
/*do some work on the click*/
}
}
لا تنتمي إلى StackOverflow