Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/193.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
查看所有活动的操作栏-Android_Android - Fatal编程技术网

查看所有活动的操作栏-Android

查看所有活动的操作栏-Android,android,Android,在我的主要活动中,我有我的动作栏。即使我启动了一项新活动,这项功能如何保持可见 新活动是否必须扩展我的主活动才能工作?如果您声明onCreateOptionMenu方法,它是您将元素放在主活动(A)的actionbar中的方法,扩展A而不重新声明该方法的所有其他活动将具有与A相同的actionbar。您可以使用我在这里描述的相同的实现模式(继承/组合) 用于搜索功能。只需使用onCreateOptionMenu方法执行我在这里描述的操作,即可为所有活动使用相同的一行代码,而无需在每个活动中编写

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


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

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

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


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

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

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);
  }

 }

}

我希望它能对您有所帮助。

如果我们用一个类进行扩展,那么我们就不能用另一个类进行扩展,这几乎是个问题。对于kotlin,请使用open For baseActivity类进行扩展,因为默认情况下,所有类都是最终类。