7

在我的主要活动中,我有我的操作栏。即使我启动了一项新活动,这如何保持可见?

新活动是否必须扩展我的主要活动才能正常工作?

4

3 回答 3

6

如果您声明该onCreateOptionMenu方法,也就是您将元素放入操作栏中的方法,在您的主要活动 (A) 中,所有其他扩展 A 而不重新声明该方法的活动将具有与 A 相同的操作栏。

于 2012-08-02T14:25:10.830 回答
5

Android 菜单选项为用户提供操作和其他选项以从屏幕的操作栏中进行选择。其中一些操作对于您的应用程序的所有活动都是通用的,因此您可以创建一个扩展 Activity 类并执行所有菜单处理的 BaseActivity,而不是在每个活动中创建它们。然后,您可以在应用程序活动中扩展基础活动类以获得相同的菜单选项。

import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class MainActivity extends BaseActivity implements OnClickListener{

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Button nextActivity = (Button) findViewById(R.id.nextActivity);
        nextActivity.setOnClickListener(this);

    }
}

这是 BaseActivity 类

import android.app.Activity;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.Toast;

public class BaseActivity extends Activity{

 @Override
 public boolean onCreateOptionsMenu(Menu menu) {
  getMenuInflater().inflate(R.menu.common_menu, menu);
  return true;
 }

 @Override
 public boolean onOptionsItemSelected(MenuItem item) {

  switch (item.getItemId()) {

  // Do Code Here 

  default:
   return super.onOptionsItemSelected(item);
  }

 }

}

我希望它对你有帮助。

于 2014-09-18T13:19:52.143 回答
0

您可以使用我在此处描述的相同实现模式(继承/组合)

整个应用程序中的全局“搜索功能”

用于搜索功能。只需使用onCreateOptionMenu方法执行我在此处描述的操作,即可为所有活动使用相同的内容,而无需在每个活动中编写相同无聊的三行代码。

于 2012-08-02T14:28:19.633 回答