米脂
2018-09-25 15:51:56浏览 2348
小白石来公司实习的第一天:1.activity之间的跳转及四种启动模式两个页面之间的跳转是应用中很常用也很实用的一个活动。之前也写过相关的页面跳转,今天通过复习Intent重温了一遍页面跳转及传参。
MainActivity部分源程序
Button button1 =(Button)findViewById(R.id.TheSecond);
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this, TheSecond.class);
Bundle bundle=new Bundle();
//传递name参数为tinyphp
bundle.putString("name", "tinyphp");
intent.putExtras(bundle);
startActivities(new Intent[]{intent});
MainActivity.this.finish();
}
});
TheScond部分源码:
Button button2 = (Button) findViewById(R.id.back);
TextView tV = (TextView)findViewById(R.id.text2);
Bundle bundle =this.getIntent().getExtras();
String name = bundle.getString("name");
Log.i("获取到的name值为:",name);//这句是打印在下面的Run里的,小白今天才知道
tV.setText(name); //显示在TextView之中
button2.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Intent intent1 = new Intent(TheSecond.this, MainActivity.class);
startActivities(new Intent[]{intent1});
TheSecond.this.finish();
}
});
以上程序实现了两个activity的跳转,以及TextView的传递。值得注意的是最后 MainActivity.this.finish();
TheSecond.this.finish();两句,之前一直想实现的一个效果:当跳转到一个新的页面原页面自动关闭。
2.Android Parcelable初试
第一次接触,小白只是为了总结一天所学。如果有需要的可以访问:
http://blog.csdn.net/djun100/article/details/9667283/这个东西的作用大概可以描述为:你的个人信息的编辑页面。一般公司个人信息的编辑和预览页面不是相同页面。如果想让你已经填写的信息完全显示在一个已经预设好的窗体上如果用Bundle挨个set很不方便所以这个相当于把所有信息打包成一个Intent类,根据你的要求打印在你指定的页面。源码如下:
public String getBookName() {
return bookName;
}
public void setBookName(String bookName) {
this.bookName = bookName;
}
public String getAuthor() {
return author;
}
public void setAuthor(String author) {
this.author = author;
}
public int getPublishTime() {
return publishTime;
}
public void setPublishTime(int publishTime) {
this.publishTime = publishTime;
}
public static final Parcelable.Creator<Book> CREATOR = new Creator<Book>() {
public Book createFromParcel(Parcel source) {
Book mBook = new Book();
mBook.bookName = source.readString();
mBook.author = source.readString();
mBook.publishTime = source.readInt();
return mBook;
}
public Book[] newArray(int size) {
return new Book[size];
}
};
public int describeContents() {
return 0;
}
public void writeToParcel(Parcel parcel, int flags) {
parcel.writeString(bookName);
parcel.writeString(author);
parcel.writeInt(publishTime);
}
}
原文链接:http://www.apkbus.com/blog-879004-62839.html