title: How to Extend Two Classes in Android?
body: <p>I need to extend Two classes from a Single Class.My class Wants to extend Both ListActivity &amp; MainActivity.</p>
  
  <p>I found a question similar to this.
  But i don't know how to Implement this <a href="https://stackoverflow.com/a/5836735/2781359">https://stackoverflow.com/a/5836735/2781359</a> </p>
  
  <p>Thanks for your Help.</p>
  
  <p>The Class which has to be Extended is ConnectionEditActivity.</p>
  
  <pre><code>public class ConnectionEditActivity extends ListActivity implements OnClickListener
  {
  public static Connection connectionParam;
  
  private Connection connection;
  
  private Button save;
  
  private EditText name;
  private EditText password;
  
  protected void onCreate(Bundle savedInstanceState)
  {
      super.onCreate(savedInstanceState);
  
      this.connection = connectionParam;
  
      this.save = (Button) this.findViewById(R.id.save);
      this.save.setOnClickListener(this);
      if (android.os.Build.VERSION.SDK_INT &gt;= android.os.Build.VERSION_CODES.GINGERBREAD)
      {
          // Don't need the Save button on newer devices
          android.widget.LinearLayout.LayoutParams a = (LayoutParams) this.save.getLayoutParams();
          a.height = 0;
          this.save.setLayoutParams(a);
          this.save.forceLayout();
      }
  
      this.name = (EditText) this.findViewById(R.id.name);
      this.password = (EditText) this.findViewById(R.id.password);
  
  }
  
  @Override
  public boolean onCreateOptionsMenu(android.view.Menu menu)
  {
      // Inflate the menu items for use in the action bar
      android.view.MenuInflater inflater = getMenuInflater();
      inflater.inflate(R.menu.connection_edit_menu, menu);
      return super.onCreateOptionsMenu(menu);
  }
  
  @Override
  public boolean onOptionsItemSelected(android.view.MenuItem item)
  {
      // Handle presses on the action bar items
      switch (item.getItemId())
      {
          case R.id.action_save:
              this.finish();
              return true;
          default:
              return super.onOptionsItemSelected(item);
      }
  }
  
  protected void onResume()
  {
      super.onResume();
  
      this.name.setText(this.connection.getName());
      this.password.setText(this.connection.getPassword());
  }
  
  protected void onPause()
  {
      super.onPause();
  
      this.connection.setName(this.name.getText().toString());
      this.connection.setPassword(this.password.getText().toString());
      finish();
  }
  
  public void onClick(View v)
  {
      if (v == this.save)
      {
          this.finish();
      }
  }
  }
  </code></pre>
  
  <p><strong>Mainactivity</strong></p>
  
  <pre><code>    public abstract class MainActivity extends ActionBarActivity
      {
      protected ListView mDrawerList;
      protected DrawerLayout mDrawer;
      private CustomActionBarDrawerToggle mDrawerToggle;
      private String[] menuItems;
      String LOG_TAG = "Remote It";
  
      @Override
      protected void onCreate(Bundle savedInstanceState)
      {
          super.onCreate(savedInstanceState);
          supportRequestWindowFeature(WindowCompat.FEATURE_ACTION_BAR);
          // getSupportActionBar().hide();
          setContentView(R.layout.activity_main_drawer);
  
          // enable ActionBar app icon to behave as action to toggle nav drawer
          getSupportActionBar().setDisplayHomeAsUpEnabled(true);
          getSupportActionBar().setHomeButtonEnabled(true);
  
          mDrawer = (DrawerLayout) findViewById(R.id.drawer_layout);
  
          // set a custom shadow that overlays the main content when the drawer
          // opens
          mDrawer.setDrawerShadow(R.drawable.drawer_shadow, GravityCompat.START);
  
          _initMenu();
          mDrawerToggle = new CustomActionBarDrawerToggle(this, mDrawer);
          mDrawer.setDrawerListener(mDrawerToggle);
      }
  private void _initMenu()
      {
          NsMenuAdapter mAdapter = new NsMenuAdapter(this);
  
          // Add Header
          mAdapter.addHeader(R.string.ns_menu_main_header);
  
          // Add first block
  
          menuItems = getResources().getStringArray(R.array.ns_menu_items);
          String[] menuItemsIcon = getResources().getStringArray(R.array.ns_menu_items_icon);
  
          int res = 0;
          for (String item : menuItems)
          {
  
              int id_title = getResources().getIdentifier(item, "string", this.getPackageName());
              int id_icon = getResources().getIdentifier(menuItemsIcon[res], "drawable", this.getPackageName());
  
              NsMenuItemModel mItem = new NsMenuItemModel(id_title, id_icon);
              // if (res==1) mItem.counter=12; //it is just an example...
              // if (res==3) mItem.counter=3; //it is just an example...
              mAdapter.addItem(mItem);
              res++;
          }
          // Second Block
          mAdapter.addHeader(R.string.ns_menu_main_header2);
  
          menuItems = getResources().getStringArray(R.array.ns_menu_itemss);
          String[] menuItemsIcons = getResources().getStringArray(R.array.ns_menu_items_iconss);
  
          int ress = 0;
          for (String item : menuItems)
          {
  
              int id_title = getResources().getIdentifier(item, "string", this.getPackageName());
              int id_icon = getResources().getIdentifier(menuItemsIcons[ress], "drawable", this.getPackageName());
  
              NsMenuItemModel mItem = new NsMenuItemModel(id_title, id_icon);
              // if (res==1) mItem.counter=12; //it is just an example...
              // if (res==3) mItem.counter=3; //it is just an example...
              mAdapter.addItem(mItem);
              res++;
          }
          mDrawerList = (ListView) findViewById(R.id.drawer);
          if (mDrawerList != null)
              mDrawerList.setAdapter(mAdapter);
  
          mDrawerList.setOnItemClickListener(new DrawerItemClickListener());
  
      }
  
      @Override
      protected void onPostCreate(Bundle savedInstanceState)
      {
          super.onPostCreate(savedInstanceState);
          // Sync the toggle state after onRestoreInstanceState has occurred.
          mDrawerToggle.syncState();
      }
  
      @Override
      public void onConfigurationChanged(Configuration newConfig)
      {
          super.onConfigurationChanged(newConfig);
          mDrawerToggle.onConfigurationChanged(newConfig);
      }
  @Override
      public boolean onOptionsItemSelected(MenuItem item)
      {
          /*
           * The action bar home/up should open or close the drawer.
           * ActionBarDrawerToggle will take care of this.
           */
          if (mDrawerToggle.onOptionsItemSelected(item))
          {
              return true;
          }
  
          // Handle your other action bar items...
          return super.onOptionsItemSelected(item);
      }
  
      private class CustomActionBarDrawerToggle extends ActionBarDrawerToggle
      {
  
          public CustomActionBarDrawerToggle(Activity mActivity, DrawerLayout mDrawerLayout)
          {
              super(mActivity, mDrawerLayout, R.drawable.ic_drawer, R.string.ns_menu_open, R.string.ns_menu_close);
          }
  
          @Override
          public void onDrawerClosed(View view)
          {
              getSupportActionBar().setTitle(getString(R.string.ns_menu_close));
              supportInvalidateOptionsMenu(); // creates call to
                                              // onPrepareOptionsMenu()
          }
  
          @Override
          public void onDrawerOpened(View drawerView)
          {
              getSupportActionBar().setTitle(getString(R.string.ns_menu_open));
              supportInvalidateOptionsMenu(); // creates call to
                                              // onPrepareOptionsMenu()
          }
      }
  
      private class DrawerItemClickListener implements ListView.OnItemClickListener
      {
  
          @Override
          public void onItemClick(AdapterView&lt;?&gt; parent, View view, int position, long id)
          {
              mDrawer.closeDrawer(mDrawerList);
              switch (position)
              {
                  case 1:
                      Intent a = new Intent(MainActivity.this, Home.class);
                      startActivity(a);
                      break;
                  case 2:
                      Intent ac = new Intent(MainActivity.this, ConnectionListActivity.class);
                      startActivity(ac);
                      break;
                                  default:
              }
  
          }
  </code></pre>
  
  <p><strong>EDIT</strong></p>
  
  <p>I need to Extend it.Because the MainActivity has the navigation drawer.Now ConnectionEditActivity
  doesn't shows the navigationDrawer nor the ActionBar .But i need to show the ActionBar<br>
  Any Suggestions ??</p>