在学习Android编程的过程中,小编最近编写了简单的Android项目,通过点击twoactivity(图书列表)中lisview的任何一项,接下来武林技术频道小编就给大家介绍Android基于Intent实现Activity之间数据传递的方法。
MainActivity:
package com.test.intentdemo;import android.app.Activity;import android.content.Intent;import android.net.Uri;import android.os.Bundle;import android.view.Menu;import android.view.View;import android.widget.Button;public class MainActivity extends Activity { private Button btn=null; public void onCreate(Bundle savedInstanceState)//onCreate方法用来初始化Activity实例对象 { super.onCreate(savedInstanceState);//super.onCreate(savedInstanceState)的作用是调用其父类Activity的onCreate方法来实现对界面的图画绘制工作 setContentView(R.layout.activity_main);//setContentView(R.layout.main)的作用是加载一个界面 btn=(Button)findViewById(R.id.btn); btn.setOnClickListener(listener); } private View.OnClickListener listener=new View.OnClickListener() { @Override public void onClick(View v) {// Intent intent=new Intent();// intent.setAction(Intent.ACTION_SENDTO);// intent.setData(Uri.parse("smsto:5554"));// intent.putExtra("sms_body", "Hello!");//sms_body不能随意换成// startActivity(intent); Intent intent=new Intent(); intent.setClass(MainActivity.this, SecondActivity.class);//从一个activity跳转到另一个activity intent.putExtra("str", "Intent Demo");//给intent添加额外数据,key为“str”,key值为"Intent Demo" startActivity(intent); } }; @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.activity_main, menu); return true; }}
secondAcitivity:
package com.test.intentdemo;import android.R.string;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.widget.TextView;public class SecondActivity extends Activity{ private TextView secondTxt; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.second); Intent intent=getIntent();//getIntent将该项目中包含的原始intent检索出来,将检索出来的intent赋值给一个Intent类型的变量intent Bundle bundle=intent.getExtras();//.getExtras()得到intent所附带的额外数据 String str=bundle.getString("str");//getString()返回指定key的值 secondTxt=(TextView)findViewById(R.id.secondTxt);//用TextView显示值 secondTxt.setText(str); }}
经过武林技术频道介绍的Android基于Intent实现Activity之间数据传递的方法,想必大家已经知道了,大家就可以按照上述方法进行操作。
新闻热点
疑难解答