How to link two xml pages in Android app when a button is clicked?

15,149
Intent intent = new Intent(this, ActivityTwo.class);
this.startActivity ( intent );
Share:
15,149
Ashwini Purohit
Author by

Ashwini Purohit

Updated on June 04, 2022

Comments

  • Ashwini Purohit
    Ashwini Purohit almost 2 years

    I am making a simple app in which on home page, a button is placed. When the button is clicked, it must display a new page (xml in layout). How to do that ..

    My app contains in src directory, There are two java files. 1. Activity2 2. Main_activity and two xml files in layout: 1. fragment_main.xml 2. Activity.xml

    I want that when i click "Technical button", it should display Activity.xml page from layout..

    My codes:

    1. Main_Activity.java

      package com.example.vit;
      

      import java.util.Locale;

      import android.util.Log; import android.support.v7.app.ActionBarActivity; import android.support.v7.app.ActionBar; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentTransaction; import android.support.v4.app.FragmentPagerAdapter; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.support.v4.view.ViewPager; import android.view.Gravity; import android.view.LayoutInflater; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.view.ViewGroup; import android.widget.TextView;

      public class MainActivity extends ActionBarActivity implements ActionBar.TabListener {

      /**
       * The {@link android.support.v4.view.PagerAdapter} that will provide
       * fragments for each of the sections. We use a {@link FragmentPagerAdapter}
       * derivative, which will keep every loaded fragment in memory. If this
       * becomes too memory intensive, it may be best to switch to a
       * {@link android.support.v4.app.FragmentStatePagerAdapter}.
       */
      SectionsPagerAdapter mSectionsPagerAdapter;
      
      /**
       * The {@link ViewPager} that will host the section contents.
       */
      ViewPager mViewPager;
      
      @Override
      protected void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          setContentView(R.layout.activity_main);
      
          // Set up the action bar.
          final ActionBar actionBar = getSupportActionBar();
          actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
      
          // Create the adapter that will return a fragment for each of the three
          // primary sections of the activity.
          mSectionsPagerAdapter = new SectionsPagerAdapter(
                  getSupportFragmentManager());
      
          // Set up the ViewPager with the sections adapter.
          mViewPager = (ViewPager) findViewById(R.id.pager);
          mViewPager.setAdapter(mSectionsPagerAdapter);
      
          // When swiping between different sections, select the corresponding
          // tab. We can also use ActionBar.Tab#select() to do this if we have
          // a reference to the Tab.
          mViewPager
                  .setOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener() {
                      @Override
                      public void onPageSelected(int position) {
                          actionBar.setSelectedNavigationItem(position);
                      }
                  });
      
          // For each of the sections in the app, add a tab to the action bar.
          for (int i = 0; i < mSectionsPagerAdapter.getCount(); i++) {
              // Create a tab with text corresponding to the page title defined by
              // the adapter. Also specify this Activity object, which implements
              // the TabListener interface, as the callback (listener) for when
              // this tab is selected.
              actionBar.addTab(actionBar.newTab()
                      .setText(mSectionsPagerAdapter.getPageTitle(i))
                      .setTabListener(this));
          }
      }
      
      @Override
      public boolean onCreateOptionsMenu(Menu menu) {
          // Inflate the menu; this adds items to the action bar if it is present.
          getMenuInflater().inflate(R.menu.main, menu);
          return true;
      }
      
      @Override
      public boolean onOptionsItemSelected(MenuItem item) {
          // Handle action bar item clicks here. The action bar will
          // automatically handle clicks on the Home/Up button, so long
          // as you specify a parent activity in AndroidManifest.xml.
          int id = item.getItemId();
          if (id == R.id.action_settings) {
              return true;
          }
          return super.onOptionsItemSelected(item);
      }
      
      @Override
      public void onTabSelected(ActionBar.Tab tab,
              FragmentTransaction fragmentTransaction) {
          // When the given tab is selected, switch to the corresponding page in
          // the ViewPager.
          mViewPager.setCurrentItem(tab.getPosition());
      }
      
      @Override
      public void onTabUnselected(ActionBar.Tab tab,
              FragmentTransaction fragmentTransaction) {
      }
      
      @Override
      public void onTabReselected(ActionBar.Tab tab,
              FragmentTransaction fragmentTransaction) {
      }
      
      /**
       * A {@link FragmentPagerAdapter} that returns a fragment corresponding to
       * one of the sections/tabs/pages.
       */
      public class SectionsPagerAdapter extends FragmentPagerAdapter {
      
          public SectionsPagerAdapter(FragmentManager fm) {
              super(fm);
          }
      
          @Override
          public Fragment getItem(int position) {
              // getItem is called to instantiate the fragment for the given page.
              // Return a PlaceholderFragment (defined as a static inner class
              // below).
              return PlaceholderFragment.newInstance(position + 1);
          }
      
          @Override
          public int getCount() {
              // Show 3 total pages.
              return 3;
          }
      
          @Override
          public CharSequence getPageTitle(int position) {
              Locale l = Locale.getDefault();
              switch (position) {
              case 0:
                  return getString(R.string.title_section1).toUpperCase(l);
              case 1:
                  return getString(R.string.title_section2).toUpperCase(l);
              case 2:
                  return getString(R.string.title_section3).toUpperCase(l);
              }
              return null;
          }
      }
      
      /**
       * A placeholder fragment containing a simple view.
       */
      public static class PlaceholderFragment extends Fragment {
          /**
           * The fragment argument representing the section number for this
           * fragment.
           */
          private static final String ARG_SECTION_NUMBER = "section_number";
      
          /**
           * Returns a new instance of this fragment for the given section number.
           */
          public static PlaceholderFragment newInstance(int sectionNumber) {
              PlaceholderFragment fragment = new PlaceholderFragment();
              Bundle args = new Bundle();
              args.putInt(ARG_SECTION_NUMBER, sectionNumber);
              fragment.setArguments(args);
              return fragment;
          }
      
          public PlaceholderFragment() {
          }
      
          @Override
          public View onCreateView(LayoutInflater inflater, ViewGroup container,
                  Bundle savedInstanceState) {
              View rootView = inflater.inflate(R.layout.fragment_main, container,
                      false);
              return rootView;
          }
      }
          public void onClick(View v)
          {
              Intent intent = new Intent (v.getContext(),Activity.class);
              startActivityForResult (intent,0);
          }
      

      }

    2.Activity2.java

       package com.example.vit;
    import android.app.Activity;
    public class Activity2 extends Activity
    
    
        public void onCreate(Bundle, savedInstanceState)
    {
        {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.Activity);
        }
    
    }
    
    3. fragment_main.xml
    
        <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        android:paddingBottom="@dimen/activity_vertical_margin"
        android:paddingLeft="@dimen/activity_horizontal_margin"
        android:paddingRight="@dimen/activity_horizontal_margin"
        android:paddingTop="@dimen/activity_vertical_margin"
        tools:context="com.example.vit.MainActivity$PlaceholderFragment" >
    
        <TextView
            android:id="@+id/section_label"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />
    
        <Button
            android:id="@+id/button1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="31dp"
            android:onClick="doSomething"
            android:text="Technical" />
    
        <Button
            android:id="@+id/button2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="50dp"
            android:text="Non Technical" />
    
    </LinearLayout>
    
    1. Activity.xml

      <TextView
          android:id="@+id/section_label"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content" />
      
      <TextView
          android:id="@+id/textView1"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:text="Your request is being processed"
          android:textAppearance="?android:attr/textAppearanceLarge" />
      

  • Mamta D
    Mamta D over 9 years
    Add a leading line and an explanation why you think this answer will work.
  • Ashwini Purohit
    Ashwini Purohit over 9 years
    The error is in Activity2.java. 'package com.example.vit; import android.app.Activity; public class Activity2 extends Activity { public void onCreate(Bundle, savedInstanceState) { { super.onCreate(savedInstanceState); setContentView(R.layout.Activity); } }'