Activity
来源:互联网 发布:淘宝贷款怎么回事 编辑:程序博客网 时间:2024/06/16 15:28
Android中的Activity的生命周期:
Activity页面之间如何进行数据传递??
先写两个页面
然后写两个页面相对应的class类
package com.zking.administrator.g160628_android12_activity;import android.content.Intent;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.util.Log;import android.view.View;import android.widget.EditText;import android.widget.TextView;import com.zking.entity.Person;import java.util.ArrayList;import java.util.List;public class MainActivity extends AppCompatActivity { private EditText et_main_uname; private TextView tv_main_showThink; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); et_main_uname = (EditText) findViewById(R.id.et_main_uname); tv_main_showThink = (TextView) findViewById(R.id.tv_main_showThink); Log.i("test","onCreate");// String content=getIntent().getStringExtra("content");// tv_main_showThink.setText(content); } public void writeThink(View view){ String uname=et_main_uname.getText().toString(); Intent intent=new Intent(this,ThinkActivity.class); //传递基本数据类型 //intent.putExtra("uname",uname);// intent.putExtra("uage",19); //传递Bundle// Bundle bundle=new Bundle();// bundle.putString("uname",uname);// bundle.putInt("uage",19);// intent.putExtra("bundle",bundle); //传递对象 Person person1=new Person(1,"静静",19); Person person2=new Person(2,"明明",19); Person person3=new Person(3,"雨田君",19); ArrayListpersons=new ArrayList<>(); persons.add(person1); persons.add(person2); persons.add(person3); //intent.putExtra("persons",persons); //传递对象集合 intent.putParcelableArrayListExtra("persons",persons); //startActivity(intent); //带有目的的跳转 startActivityForResult(intent,0x201); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); Log.i("test","onActivityResult"); String content=data.getStringExtra("content"); tv_main_showThink.setText(content); }}
package com.zking.administrator.g160628_android12_activity;import android.content.Intent;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.EditText;import android.widget.TextView;import com.zking.entity.Person;import java.util.List;public class ThinkActivity extends AppCompatActivity { private TextView tv_think_showName; private EditText et_think_content; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_think); tv_think_showName = (TextView) findViewById(R.id.tv_think_showName); et_think_content = (EditText) findViewById(R.id.et_think_content); //获取第一个页面传递过来的数据// String uname=getIntent().getStringExtra("uname");// int uage=getIntent().getIntExtra("uage",0); //接受bundle// Bundle bundle=getIntent().getBundleExtra("bundle");// String uname=bundle.getString("uname");// int uage=bundle.getInt("uage"); //接受对象 //Person person= (Person) getIntent().getSerializableExtra("person"); //Person person=getIntent().getParcelableExtra("person"); //接受对象集合 Listpersons=getIntent().getParcelableArrayListExtra("persons"); tv_think_showName.setTextSize(30); for (Person person : persons) { tv_think_showName.setText(tv_think_showName.getText()+"\n"+person.toString()); } } public void ok(View view){ String content=et_think_content.getText().toString(); Intent intent=new Intent(); intent.putExtra("content",content); //设置结果 setResult(0x100,intent); //自杀(干掉自己,干掉当前的Activity) finish(); //startActivity(intent); }}
因为博主这里还在两个页面之间传递了对象,所以再写个实体类
package com.zking.entity;import android.os.Parcel;import android.os.Parcelable;import java.io.Serializable;/** * Created by Administrator on 2017/6/16 0016. */public class Person implements Parcelable{ private int pid; private String pname; private int page; public Person() { } public Person(int pid, String pname, int page) { this.pid = pid; this.pname = pname; this.page = page; } protected Person(Parcel in) { pid = in.readInt(); pname = in.readString(); page = in.readInt(); } public static final CreatorCREATOR = new Creator () { @Override public Person createFromParcel(Parcel in) { return new Person(in); } @Override public Person[] newArray(int size) { return new Person[size]; } }; public int getPid() { return pid; } public void setPid(int pid) { this.pid = pid; } public String getPname() { return pname; } public void setPname(String pname) { this.pname = pname; } public int getPage() { return page; } public void setPage(int page) { this.page = page; } @Override public String toString() { return "Person{" + "pid=" + pid + ", pname='" + pname + '\'' + ", page=" + page + '}'; } @Override public int describeContents() { return 0; } //把属性写到序列化中 @Override public void writeToParcel(Parcel dest, int flags) { dest.writeInt(pid); dest.writeString(pname); dest.writeInt(page); }}
最后配置
阅读全文
0 0
- Activity
- Activity
- Activity。。。
- Activity
- Activity
- Activity
- Activity
- Activity
- Activity
- Activity
- activity
- Activity
- Activity
- activity
- Activity
- activity
- activity
- activity
- C语言中数据类型的自动类型转换
- Redis字符串类型命令介绍(一)
- 判断无向图的存在,Havel-Hakimi定理
- 当我们谈论计算机科学
- Java中ArrayList集合嵌套存储和遍历
- Activity
- Python网络编程--TCP
- [jzoj1408][vijos1472] 教主的集合序列
- 一个新的算法:珠排序
- javascript节点的操作 创建、添加、移除、移动、复制
- ListView id的使用
- Git Your branch is ahead of 'origin/master' by X commits解决方法
- html常规写法
- hashmap 深入分析 转载AlphaWang 博主的 但是写的真的很好。