zoukankan      html  css  js  c++  java
  • Activity跳转

    本例中MainActivity为:FirstActivity.java

    FirstActivity如下:

    package com.wyl.intentmultiactivitytest;
    
    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;
    import android.widget.EditText;
    
    public class FirstActivity extends Activity {
    	//
    	Button btn01;
    	Button btn02;
    	EditText et;
    
    	@Override
    	protected void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.firstctivity);// 绑定页面
    		btn01 = (Button) findViewById(R.id.button1);
    		btn02 = (Button) findViewById(R.id.button2);
    		et = (EditText)findViewById(R.id.editText1);
    		btn01.setOnClickListener(new OnClickListener() {
    		
    			@Override
    			public void onClick(View v) {
    				// TODO Auto-generated method stub
    				// 1.上下文对象,Context
    				// 2.目标文件
    				Intent intent = new Intent(FirstActivity.this,
    						SecondActivity.class);
    				System.out.println("======kaishi :====");
    				startActivity(intent);// 实现跳转到第二个页面
    
    			}
    		});
    		btn02.setOnClickListener(new OnClickListener() {
    
    			@Override
    			public void onClick(View v) {
    				// TODO Auto-generated method stub
    				// 1.上下文对象,Context
    				// 2.目标文件
    				Intent intent = new Intent(FirstActivity.this,
    						SecondActivity.class);
    				System.out.println("======第一个页面的第二种跳转kaishi :====");
    				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 plnr1 = data.getStringExtra("plnr");
    			String plnr2 = data.getExtras().getString("plnr");
    			System.out.println("==========:"+plnr1+",plnr2:"+plnr2);
    			et.setText("data.getStringExtra('plnr1')"+plnr1+",plnr2 = data.getExtras().getString('plnr')的方式"+plnr2);
    		}
    	}
    }
    

      SecondActivity:

    package com.wyl.intentmultiactivitytest;
    
    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;
    import android.widget.EditText;
    import android.widget.Toast;
    
    public class SecondActivity extends Activity {
    	Button btn01;
    	Button btn02;
    	EditText et;
    	@Override
    	protected void onCreate(Bundle savedInstanceState) {
    		// TODO Auto-generated method stub
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.second_activity);// 绑定页面
    		System.out.println("=====wo shi the second yemian =====");
    		btn01 = (Button) findViewById(R.id.button21);
    		btn02 = (Button) findViewById(R.id.button22);
    		et = (EditText)findViewById(R.id.editText01);
    		btn01.setOnClickListener(new OnClickListener() {
    		
    			@Override
    			public void onClick(View v) {
    				// TODO Auto-generated method stub
    				Intent intent = new Intent(SecondActivity.this, FirstActivity.class);
    				System.out.println("==cong dier tiaodao diyiye==");
    				startActivity(intent);
    			}
    		});
    		btn02.setOnClickListener(new OnClickListener() {
    			
    			@Override
    			public void onClick(View v) {
    				// TODO Auto-generated method stub
    				Intent intent = new Intent();
    				String content = et.getText().toString();//获取评论的内容
    				intent.putExtra("plnr", content);
    				
    				//2是状态码,随便自己设置,用来判断是哪个页面的返回值,自己不弄混了就行
    				setResult(2, intent);	//这是最关键的一步,
    				Toast.makeText(SecondActivity.this, intent.getExtras().getString("plnr"),1000);
    				finish();//关闭该页面,就会自动返回到了第一页了。
    			}
    		});
    		
    	}
    }
    

      相关的layout文件:

    firstctivity.xml:

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical" >
    
        <Button
            android:id="@+id/button1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="new Intent(context,目标activity.class),startActivity(intent)方式跳转" />
    
        <Button
            android:id="@+id/button2"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="第二种方式跳转" />
    
        <EditText
            android:id="@+id/editText1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:ems="10" 
            android:hint="我只是个提示框框而已">
    
            <requestFocus />
        </EditText>
    
    </LinearLayout>
    

      second_activity.xml:

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical" >
    
        <EditText
            android:id="@+id/editText01"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="录入要返回到第一页的内容" />
        <Button
            android:id="@+id/button21"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="我是第二个activity页面" />
    	<Button
            android:id="@+id/button22"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="startActivityForResult方式返回,并且回传数据" />
    </LinearLayout>
    

      效果图如下:

  • 相关阅读:
    CentOS之文件搜索命令locate
    CentOs之链接命令
    CentOs之常见目录作用介绍
    centOs之目录处理命令
    Query注解及方法限制
    Repository接口
    OkHttp和Volley对比
    Base64加密与MD5的区别?
    支付宝集成
    Android 中 非对称(RSA)加密和对称(AES)加密
  • 原文地址:https://www.cnblogs.com/Sunnor/p/4731564.html
Copyright © 2011-2022 走看看