跳至主要内容

how to open context menu for android listview item button



Like title, here is this problem in my activity like this:
An more button in every row of listview item .
When I click this more button then show activity context menu.
So I try to click button, but open context menu is the Adaper's context menu. My Adapter is extends fromBaseAdapterBaseAdapter has not context menu.
My solution like example :
<ImageButton android:id="@+id/more" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:layout_centerVertical="true" android:layout_marginRight="15dp" android:background="#00000000" android:src="@drawable/btn_addressbook_more" android:onClick="onMoreClick"/>

Add an event named  onMoreClick , when user click this button will do onClick event in activity.

// maybe you can register a contextMenu for one item first
public void onMoreClick(View view) {
    this.openContextMenu(view);
// when you read source code , you can find a very easy way to call openContextMenu like this : view.showContextMenu();
}
android activities ContextMenu image
Add event impl to Activity, when click event happened open Activity's context menu. And execute flow code you will override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
    // TODO  you code for create context menu here
}
now you click more button, open an activity's context menu. but my item index is disappeared. You can do like me, set a View Tag to your button. here you can get Tag to get index.
v.getTag();   // after you set Tag in Adapter's get view function.
So, that is! happy new year :)

评论

发表评论

此博客中的热门博文

How to change ViewPager scroll animation duration and velocity

When you call change current selected view pager position you may call like this. // change current position default is viewPager.setCurrentItem(position, true); viewPager . setCurrentItem ( position ); There will show transaction animation for change position , but this animation is too fast. So I want change this animation. When I see source code I find this, like flow. where is the scroll animation and speed.     int duration = 0 ;     velocity = Math . abs ( velocity );     if ( velocity > 0 ) {         duration = 4 * Math . round ( 1000 * Math . abs ( distance / velocity ));     } else {         final float pageWidth = width * mAdapter . getPageWidth ( mCurItem );         final float pageDelta = ( float ) Math . abs ( dx ) / ( pageWidth + mPageMargin );         duration = ( int ) (( pageDelta + 1 ) * 100 ); ...

How to close SearchView in android with ActionbarSherlock or android ActionBar

How to close SearchView in android with ActionbarSherlock or android ActionBar When I use a search view for search something in android action bar; u must have create a menu for actionview( SearchView) @Override public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { inflater.inflate(R.menu.news_post_list, menu); mSearchView = (SearchView) menu.findItem(R.id.item_search).getActionView(); mSearchView.setQueryHint(getString(R.string.search_hint_news)); mSearchView.setOnQueryTextListener(this); super.onCreateOptionsMenu(menu, inflater); } and menu xml is : <menu xmlns:android="http://schemas.android.com/apk/res/android" > <item android:id="@+id/item_search" android:icon="@drawable/ic_action_search" android:title="@string/search_hint" android:showAsAction="ifRoom" android:actionViewClass="com.actionbarsherlock.widget.SearchView"/> <item android:id...