关于在Android中Activity页面跳转的方法

本文介绍Android应用中两种页面跳转的方法:无返回结果的跳转和有返回结果的跳转。详细展示了如何通过按钮触发跳转,以及如何在跳转后携带数据返回上一个页面。

一.无返回结果的页面跳转

1.创建两个类FActivity.java和SActivity.java

2.创建两个layout目录下的factivity.xml和sactivity.xml

3.在AndroidManifest配置文件里注册FActivity.java和SActivity.java,并把原来MainActivity注册信息中的

<intent-filter>
  <action android:name="android.intent.action.MAIN" />

  <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>

删去,这几句是设置初始启动的Activity页面

4.在FActivity的注册信息中添加

<intent-filter>
  <action android:name="android.intent.action.MAIN" />

  <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>

5.实现从FActivity页面中的button1点击后跳转到SActivity页面

 

FActivity.java

public class FActivity extends Activity{

  private Button btn1;

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.factivity);

    btn1 = (Button) findViewById(R.id.button1);

    btn1.setOnClickListener(new OnClickListener(){

    @Override
    public void onClick(View v) {
      // TODO Auto-generated method stub
      Intent intent = new Intent(FActivity.this,SActivity.class);
      startActivity(intent);
    }

   });
  }
}

 

SActivity.java

public class SActivity extends Activity{

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.sactivity);
  }

}

 

factivity.xml

<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="第一个页面" />

<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="跳转第二个页面" />

 

sactivity.xml

<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="这是第二个页面" />

 

 

二.有返回结果的页面跳转

1.创建两个类FActivity.java和SActivity.java

2.创建两个layout目录下的factivity.xml和sactivity.xml

3.在AndroidManifest配置文件里注册FActivity.java和SActivity.java,并把原来MainActivity注册信息中的

<intent-filter>
  <action android:name="android.intent.action.MAIN" />

  <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>

删去,这几句是设置初始启动的Activity页面

4.在FActivity的注册信息中添加

<intent-filter>
  <action android:name="android.intent.action.MAIN" />

  <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>

5.实现从FActivity页面中的button点击后跳转到SActivity页面,再点击SActivity的button从SActivity传回一个值到FActivity

 

FActivity.java

public class FActivity extends Activity{

  private Button btn2;
  private TextView tv2;

  @Override
  protected void onCreate(Bundle savedInstanceState) {
  // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.factivity);

    btn2 = (Button) findViewById(R.id.button2);
    tv2 = (TextView) findViewById(R.id.textView2);


    btn2.setOnClickListener(new OnClickListener(){

    @Override
    public void onClick(View v) {
      // TODO Auto-generated method stub
      Intent intent = new Intent(FActivity.this,SActivity.class);
      startActivityForResult(intent, 1);
    }
  });
 }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    // TODO Auto-generated method stub

    super.onActivityResult(requestCode, resultCode, data);
    if(requestCode==1&&resultCode==2)
    {
      String content=data.getStringExtra("data");
      tv2.setText(content);
    }
  }
}

 

SActivity

public class SActivity extends Activity{

  private Button btn1;
  private String content="我是传回来的值";

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.sactivity);

    btn1 = (Button) findViewById(R.id.button1);

    btn1.setOnClickListener(new OnClickListener(){

    @Override
    public void onClick(View v) {
      // TODO Auto-generated method stub
      Intent data = new Intent();
      data.putExtra("data", content);
      setResult(2,data);
      finish();
    }
  });
 }

}

 

factivity.xml

<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="传值的的跳转第二个界面" />

<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="结果" />

 

sactivity.xml

<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="带值返回" />

 

转载于:https://www.cnblogs.com/HangZhe/p/5716101.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值