Activity之间的跳转以及数据传递
Activity可以看成手机屏幕的一个页面(个人理解),往往开发中会遇到从一个Activity带着数据传递到另一个Activity,做过Web开发的都知道,要想从一个html页面传递参数到另外一个页面最简单的是 url= “http:\\www.google.com.hk?parmter=xxx"。 下面来看看Android的Activity之间的参数传递。
首先创建一个activity_main.xml
View Code
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".MainActivity" > <EditText android:id="@+id/txtMsg" android:layout_width="fill_parent" android:layout_height="50px" android:text="将要传递的内容" /> <Button android:id="@+id/btnsend" android:layout_width="fill_parent" android:layout_height="50px" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" android:layout_marginTop="54dp" android:text="跳转" /> </RelativeLayout>
在 MainActivity里面添加跳转的逻辑代码
private Button btnsend; private EditText txtMsg; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); txtMsg = (EditText) this.findViewById(R.id.txtMsg); //获取到文本编辑控件 btnsend=(Button)this.findViewById(R.id.btnsend); //获取到文本编辑控件 btnsend.setOnClickListener(new View.OnClickListener() { //按钮监听事件 @Override public void onClick(View arg0) { // TODO Auto-generated method stub Intent intent=new Intent(MainActivity.this,OtherOneActivity.class); intent.putExtra("name",txtMsg.getText().toString()); //设置要发送的数据 startActivity(intent); } }); }
最后建一个 OtherOneActivity 继承 Activity,用来接收数据
private TextView labmsg; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); labmsg=new TextView(this); setContentView(labmsg); Intent intent=this.getIntent(); String msg=intent.getStringExtra("name"); labmsg.setText(msg); }
特别注意:一定要在AndroidManifest.xml中注册新建的Activity
<activity android:name=".OtherOneActivity" android:label="OtherOneActivity"></activity>