ایونت onLongClick در آیتم های اکشن بار یا تولبار

درود فراوان به کاربران عزیز سایت یاهو ۹۸ YAHOO

 

برای استفاده از ایونت onLongClick در آیتم های اکشن بار یا تولبار که به طور پیش فرض یک توست نمایش میده میتونید از کد زیر استفاده کنید .

 

کد های اصلی :

Public Sub AddOnToolbarItemLongClick (Toolbar As View,ShowDefualtToast As Boolean)
Dim Jo As JavaObject
Jo.InitializeContext
Jo.RunMethod("SetToolbar",Array(Toolbar,ShowDefualtToast))
End Sub
#if java
import android.support.v7.view.menu.ActionMenuItemView;
boolean showtoast=true;
android.view.ViewGroup toolbar;
public void SetToolbar(android.view.ViewGroup v,boolean toast){toolbar=v;showtoast=toast;}
public void _oncreateoptionsmenu (final android.view.Menu menu){
BA.handler.post(new java.lang.Runnable(){
@Override
public void run() {
if (toolbar==null || toolbar.getChildCount()<3){
BA.handler.post(this); return;
}else{
for (int i = 0; i < toolbar.getChildCount(); i++){
if (toolbar.getChildAt(i) instanceof android.support.v7.widget.ActionMenuView){
android.support.v7.widget.ActionMenuView amv=
(android.support.v7.widget.ActionMenuView) toolbar.getChildAt(i);
for (int i2 = 0; i2 < amv.getChildCount(); i2++){
MakeLongClick((ActionMenuItemView) amv.getChildAt(i2));
}}}}}});}

public void MakeLongClick (final ActionMenuItemView Item) {
new android.os.Handler().post(new java.lang.Runnable() {
@Override
public void run() {
Item.setOnLongClickListener(new android.view.View.OnLongClickListener() {
@Override
public boolean onLongClick(android.view.View v) {
if (showtoast){
Item.onLongClick(v);
}try{
_onactionitemlongclick(Item,Item.getItemData(),Item.getItemData().getTitle());
}catch(Exception e){}
return true;
}});}});
}
#End if

 

نحوه استفاده :

 

AddOnToolbarItemLongClick(Toolbar,True)‍

 

آرگومان اول تولبار شما و آرگومان دوم هم اگر میخواید اون توست پیشفرض رو نمایش بده true و اگر نمیخواید false بدید.

و در آخر هم ایونت longclick رو باید بذارید :

 


Public Sub onActionItemLongClick (View As Object,ItemData As Object,Title As Object)
Log(Title)
End Sub

 

دیدگاهتان را بنویسید