页面跳转并传递数据
Android里面采用Intent類實現頁面跳轉,并且傳遞數據
?
Intent intent = new Intent(); intent.setClass(activity1.this, activity2.class); //描述起點和目標 Bundle bundle = new Bundle(); //創建Bundle對象 bundle.putString("something", "Activity1發來的數據"); //裝入數據 intent.putExtras(bundle); //把Bundle塞入Intent里面 startActivity(intent); //開始切換?
Bundle是類似于Map的一種數據結構,通過key-value的形式存儲數據
從跳轉后的頁面取出數據
?
Intent intent = this.getIntent(); //獲取已有的intent對象 Bundle bundle = intent.getExtras(); //獲取intent里面的bundle對象 String str = bundle.getString("something"); //獲取Bundle里面的字符串?
用Intent可以直接傳遞序列化過的類,比如Student類,繼承了Serializable接口
public class Student implements Serializable{private String name;private int age;public Student(String name,int age){this.name=name;this.age=age;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}}可以直接通過Intent傳遞
Student stu=new Student("張三",25); Intent intent = new Intent(); intent.putExtra("student", stu);一般可以把跳轉的代碼寫到被跳轉的頁面,如下所示
public class Page extends Activity {public static void open(Context context,Student stu){Intent i = new Intent(context, Page.class);i.putExtra("Student", stu);context.startActivity(i);}}這樣在跳轉的時候,只需要調用open函數,便可以跳轉,并傳遞所需要的內容
轉載于:https://www.cnblogs.com/huangbei1990/p/5742401.html
總結
- 上一篇: GDB 远程调试Linux (CentO
- 下一篇: Qt之QStackedWidget