Android进行值传递
一、意义
android在进行页面传值时需要进行传递,在第一个页面有许许多多的数据,而第二个界面要开始显示数据时,需要有第一个界面中的数据,这个时候就需要进行值传递了。
二、方法
1、直接进行Intent传值
holder.click_item.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(context, NewsByIdActivity.class);
intent.putExtra("NewsID",newsBeans.get(position).getKey());
context.startActivity(intent);
}
});
这个是直接进行了Intent开始传值,直接是Activity的开始传值,下方是开始去接值。
Intent intent = getIntent();
id = intent.getIntExtra("NewsID",0);
2、进行Bundle传值
holder.score_query_ll_item.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent=new Intent(ScoreQueryActivity.this,SecondeQueryActivity.class);
Bundle bundle=new Bundle();
bundle.putInt("key",fifteenForumPosBean.getKey());
bundle.putString("phone",fifteenForumPosBean.getPhoto());
intent.putExtras(bundle);
startActivity(intent);
}
这个是直接进行了Bundle开始传值,下面开始是接值。
//首先来这里接上层传来的数据
Intent intent=getIntent();
Bundle bundle=intent.getExtras();
key=bundle.getInt("key");
photo=bundle.getString("photo");
3、直接传走这个实体类
/**
* 跳转
*/
void jump(CalendarTimeBean calendarTimeBean);
我先写了一个跳转的方法,跳转的时候就直接开始传递这个实体类。
holder.ll_reccycle_operation_item.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
((CalendarTimeActivity)(mContext)).jump(fastCurriculumBean);
}
});
这个跳转之后就是直接传递整个实体类,直接传递。
@Override
public void jump(CalendarTimeBean calendarTimeBean) {
Intent intent = new Intent(this, LogCalendarTimeActivity.class);
intent.putExtra("operationLogBean",calendarTimeBean);
startActivity(intent);
}
开始去进行传递传值,直接传递到了LogCalendarTimeActivity。
开始进行取值
private void initView() {
personal_tv_nickname = findViewById(R.id.personal_tv_nickname);
personal_tv_school = findViewById(R.id.personal_tv_school);
personal_tv_college = findViewById(R.id.personal_tv_college);
personal_tv_dept = findViewById(R.id.personal_tv_dept);
personal_tv_major = findViewById(R.id.personal_tv_major);
personal_tv_class = findViewById(R.id.personal_tv_class);
personal_tv_studentId = findViewById(R.id.personal_tv_studentId);
CalendarTimeBean operationLogBean = (CalendarTimeBean) getIntent().getParcelableExtra("operationLogBean");
personal_tv_nickname.setText(TimeHelper.stampToDate(String.valueOf(operationLogBean.getOperationTime())));
personal_tv_school.setText(String.valueOf(operationLogBean.getOperationType()));
personal_tv_college.setText(String.valueOf(operationLogBean.getModuleName()));
personal_tv_dept.setText(String.valueOf(operationLogBean.getOperationDescription()));
personal_tv_major.setText(String.valueOf(operationLogBean.getUserName()));
personal_tv_class.setText(String.valueOf(operationLogBean.getIP()));
personal_tv_studentId.setText(String.valueOf(operationLogBean.getDeviceType()));
}