Pressing back button from one activity refreshes previous activity in stack

Viewed 13095

On pressing back button from child activity parent activity displays for a second and refreshes itself.

In child activity I have this code in java file

@Override
public void onBackPressed()
{

    Intent moveback =
            new Intent(ClassActivityEdit.this, ClassActivity.class);
    startActivity(moveback);
    finish();
}

ClassActivityEdit is child class. In manifest file code is as follows

<activity android:name=".ClassActivity"
        android:label="Class Activity">
        <intent-filter>
            <action android:name="com.teamtreehouse.oslist.ClassActivity" />
            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
    </activity>

    <activity android:name=".ClassActivityEdit"
        android:label="Class Activity"
        android:noHistory="true">
        <intent-filter>
            <action android:name="com.teamtreehouse.oslist.ClassActivityEdit" />
            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
    </activity>

On back button I just want the ClassActivity layout to be displayed without it being refreshed.

Edit: ClassActivityEdit doesnt extend ClassActivity. Its just that some button press in ClassActivity will result in opening ClassActivityEdit.

Edit2

the below code in ClassActivity starts ClassActivityEdit

public void editListener(View v) {
        Intent addNewClass =
                new Intent(ClassActivity.this, ClassActivityEdit.class);
        RelativeLayout buttonTableRow = (RelativeLayout) v.getParent();
        TextView getCourseID = (TextView) buttonTableRow.findViewById(R.id.courseNumberActivity);
        String courseIDString = getCourseID.getText().toString();
        Bundle bundle = new Bundle();

        //Add your data to bundle
        bundle.putString("CourseIDString", courseIDString);

        addNewClass.putExtras(bundle);
        startActivity(addNewClass);
}

Edit 3: I also have a Landing (MAIN) activity which flashes for a second. On pressing back button from ClassActivityEdit activity Landing activity flashes again and then the ClassActivity activity loads. Finding it a bit tricky to solve.

public class LoadingPage extends ActionBarActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.loading_page);
    new Handler().postDelayed(new Runnable() {
        @Override
        public void run() {
            Intent mainIntent = new Intent(LoadingPage.this, ClassActivity.class);
            startActivity(mainIntent);
        }
    }, 1000);
}

}

12 Answers
Related