How to expand basic activity in Android?

I am creating a options menu in Android activity. I have a lot of activity, I want all the actions to have the same menu. I know that I need to create basic activity and expand it, but I don’t know how to do it. here is my main activity code ....

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); } } } 
+4
source share
2 answers

Create an action that can be an abstract class extending the Activity . Now every new Activity needs to extend this class. For instance:

 //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{} 

See android how to create your own activity and expand its question

Common header in different actions using BaseActivity in android

Android: base activity class Example for more.

Hope this helps.

+5
source

Yes it is possible.

You just need to expand the main activity in other actions.

Your thread will be: MainActivity(Super class)->OtherActivities(Subclass)//Which extends MainActivity

0
source

Source: https://habr.com/ru/post/1500447/


All Articles