我在android activity中创建了一个选项菜单。我有许多活动,我想在所有活动中相同的选项菜单。我知道我必须创建一个基本活动并对其进行扩展,但我不知道如何创建。这是我的主要活动代码...
package com.officextracts.kaspersky;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.ImageButton;
import android.widget.Toast;
public class MainActivity extends Activity implements View.OnClickListener
{
Button Button01;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button01 = (Button)findViewById(R.id.Button01);
Button01.setOnClickListener(this);
}
private void button1Click()
{
startActivity(new Intent("com.officextracts.kaspersky.Retail_products"));
}
public void onClick(View v) {
switch (v.getId())
{
case R.id.Button01:
button1Click();
break;
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.layout.menu, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item)
{
switch (item.getItemId())
{
case R.id.menu_home:
// Single menu item is selected do something
// Ex: launching new activity/screen or show alert message
Toast.makeText(MainActivity.this, "Home Is selected", Toast.LENGTH_SHORT).show();
return true;
case R.id.menu_krp:
Toast.makeText(MainActivity.this, "Kaspersky Retail Products", Toast.LENGTH_SHORT).show();
return true;
case R.id.menu_kep:
Toast.makeText(MainActivity.this, "Kaspersky Endpoint Products", Toast.LENGTH_SHORT).show();
return true;
case R.id.menu_fkr:
Toast.makeText(MainActivity.this, "Find Kaspersky Resaller", Toast.LENGTH_SHORT).show();
return true;
case R.id.menu_sales:
Toast.makeText(MainActivity.this, "Contact Kaspersky Sales", Toast.LENGTH_SHORT).show();
return true;
case R.id.menu_crs:
Toast.makeText(MainActivity.this, "Contact Retail Support", Toast.LENGTH_SHORT).show();
return true;
case R.id.menu_ces:
Toast.makeText(MainActivity.this, "Contact Enterprise Support", Toast.LENGTH_SHORT).show();
return true;
case R.id.menu_coo:
Toast.makeText(MainActivity.this, "Contact Our Office", Toast.LENGTH_SHORT).show();
return true;
case R.id.menu_sms:
Toast.makeText(MainActivity.this, "SMS for Support", Toast.LENGTH_SHORT).show();
return true;
case R.id.menu_email:
Toast.makeText(MainActivity.this, "Email Support", Toast.LENGTH_SHORT).show();
return true;
case R.id.menu_exit:
finish();
System.exit(0);
default:
return super.onOptionsItemSelected(item);
}
}
}发布于 2013-09-04 14:46:08
创建一个活动,它可以是一个扩展Activity的abstract类。现在,每个新的Activity都必须扩展该类。例如:
//Your base class, where you can have your Action bar and other the other methods which you want all your other classes to inherit
public abstract class AbstractActivity extends Activity{}
// You all other classes
public class FirstActivity extends AbstractActivity{}
public class SecondActivity extends AbstractActivity{}请参阅android how to create my own Activity and extend it?问题
Common Header in different activities using BaseActivity in android
Android: Base Activity class Example获取更多信息。
希望能有所帮助。
发布于 2013-09-04 14:46:02
是的,这是可能的。
您只需在其他活动中扩展main activity即可。
你的流程是:MainActivity(Super class)->OtherActivities(Subclass)//Which extends MainActivity
https://stackoverflow.com/questions/18607039
复制相似问题