Example of removing yourself from the history stack after forwarding to another activity. : Activity « UI « Android






Example of removing yourself from the history stack after forwarding to another activity.

     
/*
 * Copyright (C) 2007 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package app.test;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;


/**
 * <p>Example of removing yourself from the history stack after forwarding to
 * another activity. This can be useful, for example, to implement
    a confirmation dialog before the user goes on to another activity -- once the
    user has confirmed this operation, they should not see the dialog again if they
go back from it.</p>

<p>Note that another way to implement a confirmation dialog would be as
an activity that returns a result to its caller.  Either approach can be
useful depending on how it makes sense to structure the application.</p>

<h4>Demo</h4>
App/Activity/Receive Result
 
<h4>Source files</h4>
<table class="LinkTable">
        <tr>
            <td class="LinkColumn">src/com.example.android.apis/app/Forwarding.java</td>
            <td class="DescrColumn">Forwards the user to another activity when its button is pressed</td>
        </tr>
        <tr>
            <td class="LinkColumn">/res/any/layout/forwarding.xml</td>
            <td class="DescrColumn">Defines contents of the Forwarding screen</td>
        </tr>
</table>
 */
public class Test extends Activity
{
    @Override
  protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);

        setContentView(R.layout.main);

        // Watch for button clicks.
        Button goButton = (Button)findViewById(R.id.go);
        goButton.setOnClickListener(mGoListener);
    }

    private OnClickListener mGoListener = new OnClickListener()
    {
        public void onClick(View v)
        {
            // Here we start the next activity, and then call finish()
            // so that our own will stop running and be removed from the
            // history stack.
            Intent intent = new Intent();
            intent.setClass(Test.this, ForwardTarget.class);
            startActivity(intent);
            finish();
        }
    };
}


/**
 * Example of removing yourself from the history stack after forwarding to
 * another activity.
 */
class ForwardTarget extends Activity
{
    @Override
  protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);

        setContentView(R.layout.row);
    }
}

//main.xml
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2007 The Android Open Source Project

     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
     You may obtain a copy of the License at
  
          http://www.apache.org/licenses/LICENSE-2.0
  
     Unless required by applicable law or agreed to in writing, software
     distributed under the License is distributed on an "AS IS" BASIS,
     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     See the License for the specific language governing permissions and
     limitations under the License.
-->

<!-- Demonstrates receiving activity results.
     See corresponding Java code com.android.sdk.app.ReceiveResult.java. -->

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:padding="4dip"
    android:gravity="center_horizontal"
    android:layout_width="match_parent" android:layout_height="match_parent">

    <TextView
        android:layout_width="match_parent" android:layout_height="wrap_content"
        android:layout_weight="0"
        android:paddingBottom="4dip"
        android:text="forwarding"/>

    <Button android:id="@+id/go"
        android:layout_width="wrap_content" android:layout_height="wrap_content" 
        android:text="go">
        <requestFocus />
    </Button>

</LinearLayout>

//row.xml

<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2007 The Android Open Source Project

     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
     You may obtain a copy of the License at
  
          http://www.apache.org/licenses/LICENSE-2.0
  
     Unless required by applicable law or agreed to in writing, software
     distributed under the License is distributed on an "AS IS" BASIS,
     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     See the License for the specific language governing permissions and
     limitations under the License.
-->

<!-- Demonstrates receiving activity results.
     See corresponding Java code com.android.sdk.app.ReceiveResult.java. -->

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:padding="4dip"
    android:gravity="center_horizontal"
    android:layout_width="match_parent" android:layout_height="match_parent">

    <TextView
        android:layout_width="match_parent" android:layout_height="wrap_content"
        android:layout_weight="0"
        android:text="forward_target"/>

</LinearLayout>

   
    
    
    
    
  








Related examples in the same category

1.Backup Activity
2.Notification Activity
3.Timing Activity
4.Set content view from xml for Activity
5.More than one Activity
6.Find user control by using findViewById
7.A Simple Form
8.Link form with POJO
9.Life cycle
10.Comparing Android UI Elements to Swing UI Elements
11.add android:background = "#FFFF0000"
12.Rotation demo
13.Set activity screen Orientation
14.Check activity result
15.Activity lifecycle event
16.Activity key event
17.Allows the activity to manage the Cursor's lifecyle based on the activity’s lifecycle---
18.Activity configuration changed event
19.Check Activity result and onActivityResult
20.Phone Call Activity
21.Using Media Store Activity
22.External Storage Activity
23.Making Activity Go Full-Screen
24.Surface View Test Activity
25.Widget Preview Activity
26.This class provides a basic demonstration of how to write an Android activity.
27.This demonstrates the basic code needed to write a Screen activity
28.Fancy Blur Activity
29.Example of receiving a result from another activity.
30.Demonstrates required behavior of saving and restoring dynamic activity state
31.Securer Activity
32.This activity is an example of a simple settings screen that has default values.
33.Bind Click Action Activity
34.get ActivityManager
35.forward to another Activity
36.Request window features before setContentView
37.No code required here to attach the listener
38.Save data to Preference
39.Save instance state
40.onRetainNonConfigurationInstance
41.Create a user interface in code.
42.Redirect
43.Demonstrates how the various soft input modes impact window resizing.
44.extends Activity implements OnClickListener