android actionbar 下拉菜单,android - 在ActionBar的下拉菜单中单击了(选中的,显示了)什么项目 - 堆栈内存溢出...

向操作栏添加下拉菜单

详细说明

cfc5c8042cfd4b01c7c4e09b0720738e.png

private void InitializeActionBar()

{

ActionBar.NavigationMode = ActionBarNavigationMode.List;

ActionBar.SetListNavigationCallbacks(

new NavigationSpinnerAdapter(this),

new NavigationListener());

}

public class NavigationSpinnerAdapter : BaseAdapter

{

private List _spinnerItems;

private LayoutInflater _layoutInflater;

public NavigationSpinnerAdapter(Context context)

{

_spinnerItems = new List();

// Create java strings for this sample.

// This saves a bit on JNI handles.

_spinnerItems.Add(new Java.Lang.String("Sample item 1"));

_spinnerItems.Add(new Java.Lang.String("Sample item 2"));

_spinnerItems.Add(new Java.Lang.String("Sample item 3"));

// Retrieve the layout inflater from the provided context

_layoutInflater = LayoutInflater.FromContext(context);

}

public override Object GetItem(int position)

{

return _spinnerItems[position];

}

public override long GetItemId(int position)

{

return position;

}

public override View GetView(int position, View convertView, ViewGroup parent)

{

var view = convertView;

// Try to reuse views as much as possible.

// It is alot faster than inflating new views all the time

// and it saves quite a bit on memory usage aswell.

if (view == null)

{

// inflate a new layout for the view.

view = _layoutInflater.Inflate(Resource.Layout.SpinnerItem, parent, false);

}

var textView = view.FindViewById(Resource.Id.DisplayTextLabel);

textView.Text = _spinnerItems[position].ToString();

return view;

}

public override int Count

{

get { return _spinnerItems.Count; }

}

}

public class NavigationListener: Java.Lang.Object, ActionBar.IOnNavigationListener

{

public bool OnNavigationItemSelected(int itemPosition, long itemId)

{

// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

//catch clicked item

// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

return false;

}

}

android:actionViewClass="android.widget.SearchView"/>

public override bool OnCreateOptionsMenu(IMenu menu)

{

MenuInflater.Inflate(Resource.Menu.ActionItems, menu);

var searchView = (SearchView)menu.FindItem(Resource.Id.menu_search).ActionView;

searchView.SearchClick += OnSearchClicked;

return true;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值