
要创建d出菜单,我尝试了以下方法.
1]使用d出菜单和下面的代码:
private voID showPopupMenu(VIEw vIEw){ Context wrapper = new ContextthemeWrapper(this,R.style.PopupMenu); PopupMenu popupMenu = new PopupMenu(wrapper,vIEw); popupMenu.getMenuInflater().inflate(R.menu.popup_menu,popupMenu.getMenu()); popupMenu.show(); popupMenu.setonMenuItemClickListener(new PopupMenu.OnMenuItemClickListener(){ @OverrIDe public boolean onMenuItemClick(MenuItem item){ switch (item.getItemID()){ case R.ID.install: Intent intent = new Intent(VIEwAllRelationActivity.this,EditrelativeActivity.class); startActivity(intent); break; case R.ID.addtowishList: break; } return false; } }); } 它给出了这个输出:
2]使用ContextMenu,它显示以下输出:
我们可以在ContextMenu中保持宽度和高度但是它总是在Center中显示而不是ListvIEw数据的每一行.
但我想要下面的图像类型d出菜单.宽度和高度都很小.
请为此提供解决方案.
解决方法 如果您使用的是适配器,则可以在适配器中放入getVIEw(…)方法imvMore.setonClickListener(new VIEw.OnClickListener() { @OverrIDe public voID onClick(VIEw v) { showPopupMenu(act,v); } }); 并把方法
private voID showPopupMenu(Activity act,VIEw vIEw){ PopupMenu popupMenu = new PopupMenu(act,vIEw); popupMenu.getMenuInflater().inflate(R.menu.menu_popup,popupMenu.getMenu()); popupMenu.setonMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() { @OverrIDe public boolean onMenuItemClick(MenuItem item) { switch (item.getItemID()) { } return true; } }); popupMenu.show();} 在您的适配器类中.
注意:act是在创建构造函数适配器时必须绑定的Activity,例如:
public YourAdapter(Activity act,ArrayList<ItemOfYourModel> data){ this.data = data; this.act = act;} 在Activity中,您可以编写代码:
ArrayList<ItemOfYourModel> ListData = new ArrayList<ItemOfYourModel>();ListData.add(new YourItemOfYourModel(...));YourAdapter adapter = new YourAdapter(this,ListData);总结
以上是内存溢出为你收集整理的Android ListView中的d出菜单问题全部内容,希望文章能够帮你解决Android ListView中的d出菜单问题所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)