首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在android中扩展基础活动?

如何在android中扩展基础活动?
EN

Stack Overflow用户
提问于 2013-09-04 14:40:40
回答 2查看 13.1K关注 0票数 4

我在android activity中创建了一个选项菜单。我有许多活动,我想在所有活动中相同的选项菜单。我知道我必须创建一个基本活动并对其进行扩展,但我不知道如何创建。这是我的主要活动代码...

代码语言:javascript
复制
            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);
                }
            }    
        }
EN

回答 2

Stack Overflow用户

发布于 2013-09-04 14:46:08

创建一个活动,它可以是一个扩展Activityabstract类。现在,每个新的Activity都必须扩展该类。例如:

代码语言:javascript
复制
//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获取更多信息。

希望能有所帮助。

票数 6
EN

Stack Overflow用户

发布于 2013-09-04 14:46:02

是的,这是可能的。

您只需在其他活动中扩展main activity即可。

你的流程是:MainActivity(Super class)->OtherActivities(Subclass)//Which extends MainActivity

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18607039

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档