Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Android:如何在不重写被覆盖的方法的情况下在每个(列表)活动中拥有共享菜单?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我知道 Android提供了一些有用的方法来重写以定义菜单
@Override
 public Boolean onCreateOptionsMenu(Menu menu) {
  menu.add(0,AIS,"Activity Inventory Sheet").setIcon(android.R.drawable.ic_menu_upload);
                // ...
  return true;
 }

 public Boolean onOptionsItemSELEcted(MenuItem item) {
  Intent i;
     switch (item.getItemId()) {
     case AIS: i = new Intent(this,ActivityInventorySheet.class);
      startActivity(i);
               return true;
     // ...
     }
     return false;
 }

我希望我的Android应用程序的每个Activity和ListActivity共享此菜单.这是为了让每个(List)Activity中都有一个标准菜单,让用户可以在一次点击中跳转到应用程序的每个部分.

现在,实现此目的的最简单方法是在应用程序的每个(List)活动中复制并粘贴两个方法.我不喜欢这个编写的冗余代码:)

分类是合理的选择吗?我已经看到我的ListActivity之一的子类化不能很好地工作(从数据库中检索对象的线程会产生问题).
是否有其他方式通过活动共享菜单

谢谢

解决方法

我认为没有理由不能完美地运作:
public abstract class MyListActivity extends ListActivity
{
   @Override
   public Boolean onCreateOptionsMenu(Menu menu) {
      menu.add(0,"Activity Inventory Sheet").setIcon(android.R.drawable.ic_menu_upload);
      // ...
      return true;
   }

   @Override
   public Boolean onOptionsItemSELEcted(MenuItem item) {
      Intent i;
      switch (item.getItemId()) {
          case AIS: i = new Intent(this,ActivityInventorySheet.class);
          startActivity(i);
          return true;
          // ...
      }
      return false;
   }    
}

然后让您的活动扩展MyListActivity而不是ListActivity.

这听起来像是一个完全不同的问题.您可能想发布一个单独的问题.简单地用Java扩展类不应该像你描述的那样产生任何问题.

大佬总结

以上是大佬教程为你收集整理的Android:如何在不重写被覆盖的方法的情况下在每个(列表)活动中拥有共享菜单?全部内容,希望文章能够帮你解决Android:如何在不重写被覆盖的方法的情况下在每个(列表)活动中拥有共享菜单?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。