• Android中Activity之间访问互传参数


    public class MainActivity extends Activity {
    
    	private static final int OTHER = 1;
    
    	@Override
    	protected void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.activity_main);
    	}
    
    	@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;
    	}
    
    	public void goOtherActivity(View v) {
    
    		// 显示意图的操作
    		/*
    		 * Intent intent = new Intent(this, OtherActivity.class);
    		 * startActivity(intent);
    		 */
    
    		// 隐士意图的操作
    		/*
    		 * Intent intent = new Intent(); intent.setAction(Intent.ACTION_CALL);
    		 * intent.setData(Uri.parse("tel:"+1235)); startActivity(intent);
    		 */
    
    		// 自定义的隐士意图操作
    		/*
    		 * Intent intent = new Intent();
    		 * intent.setAction("www.csdn.net.hbsi");// 自定义的action
    		 * intent.addCategory("android.intent.category.DEFAULT");
    		 * 
    		 * 
    		 * intent.setDataAndType(Uri.parse("csdn://www.csdn.net/xx"),
    		 * "image/jpeg"); // 执行意图 startActivity(intent);
    		 */
    
    		// 数据传递的实现
    		/*
    		 * Intent intent = new Intent(MainActivity.this, OtherActivity.class);
    		 * 
    		 * intent.putExtra("name", "shasha"); intent.putExtra("pass", "xxxx");
    		 * 
    		 * startActivity(intent);
    		 */
    
    		// 返回数据的获取的操作
    		Intent intent = new Intent(MainActivity.this, OtherActivity.class);
    		intent.putExtra("name", "shasha");
    		intent.putExtra("pass", "xxxx");
    		// 新打开的activity返回的数据
    		startActivityForResult(intent, OTHER);
    
    	}
    
    	@Override
    	protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    		super.onActivityResult(requestCode, resultCode, data);
    		// 请求码
    		switch (requestCode) {
    		// other 这个请求 的处理
    		case OTHER:
    			// 根据请求返回值得结果码 再进行匹配
    			switch (resultCode) {
    			case RESULT_OK:
    				Toast.makeText(this, "返回的数据" + data.getStringExtra("result"),
    						Toast.LENGTH_LONG).show();
    				break;
    
    			default:
    				break;
    			}
    
    			break;
    
    		default:
    			break;
    		}
    	}
    
    }



    public class OtherActivity extends Activity {
    
    	@Override
    	protected void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.activity_other);
    
    		// 获取数据
    		Bundle bundle = this.getIntent().getExtras();
    
    		Intent intent = this.getIntent();
    
    		// Toast.makeText(this,
    		// "名称:"+bundle.get("name")+" 密码:"+bundle.get("pass"),
    		// Toast.LENGTH_LONG).show();
    		Toast.makeText(
    				this,
    				"名称:" + intent.getStringExtra("name") + " 密码:"
    						+ intent.getStringExtra("pass"), Toast.LENGTH_LONG)
    				.show();
    
    	}
    
    	@Override
    	public boolean onCreateOptionsMenu(Menu menu) {
    
    		getMenuInflater().inflate(R.menu.main, menu);
    		return true;
    	}
    
    	public void backActivity(View v) {
    
    		// 显示意图的操作
    		// Intent intent = new Intent();
    		// intent.setClass(this, MainActivity.class);
    
    		/*
    		 * intent.setClassName("com.example.lession12_activity",
    		 * "com.example.lession12_activity.MainActivity");
    		 */
    
    		// intent.setComponent(new
    		// ComponentName("com.example.lession12_activity",
    		// "com.example.lession12_activity.MainActivity"));
    
    		// startActivity(intent);
    
    		Intent intent = new Intent();
    		intent.putExtra("result", "CSDN");
    
    		OtherActivity.this.setResult(RESULT_OK, intent);
    
    		OtherActivity.this.finish();// 关闭activity
    
    	}
    
    }


    AndroidManifest.xml中 

    <!-- 意图过虑器 -->
               <!--  <intent-filter>
                    <action android:name="www.csdn.net.hbsi"/>
                    <data 
                        android:host="www.csdn.net"
                        android:mimeType="image/jpeg"
                        android:path="/xx"
                        android:scheme="csdn"/>
                    <category android:name="android.intent.category.DEFAULT"/>
                </intent-filter>
                <intent-filter >
                    <action android:name="android.intent.action.MAIN"/>
                    <category android:name="android.intent.category.LAUNCHER"/>  
                </intent-filter> -->


  • 相关阅读:
    Python sys.argv用法详解及应用
    Python map() 函数
    Python中enumerate用法详解
    闭包,作用域链,垃圾回收,内存泄露
    jQuery 常用代码集锦
    关于作用域和作用域链最完整的简述
    git 合并commit
    apollo-client
    关于对称加密和解密
    接口校验机制
  • 原文地址:https://www.cnblogs.com/dyllove98/p/3146972.html
Copyright © 2020-2023  润新知