我正在制造停车导航系统。我已经为车库制作了阵列,并将其传递给其他停车场活动,但是现在该活动发生了变化,因此我必须将其传递回车库活动。需要一个更简单的解决方案。预先感谢
这是代码,我已经尝试过:
GarageActivity
int[] g1 = {1, 1, 1, 1, 1, 1, 1, 1, 1, 1};
int[] g2 = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
int[] g3 = {1, 1, 1, 1, 1, 1, 1, 1, 1, 1};
int[] g4 = {1, 1, 1, 1, 1, 1, 1, 1, 1, 1};
int[] g5 = {0, 0, 1, 1, 1, 1, 1, 1, 1, 1};
int[] g6 = {1, 1, 1, 1, 1, 1, 1, 1, 1, 1};
b1.setOnClickListener(new View.OnClickListener() {
@Override public void onClick (View v){
Intent it = new Intent(Start.this, MainActivity.class);
it.putExtra("g1", g1);
startActivity(it);
}
});
ParkingActivity
public void onClick(View v) {
if (tx1Count == 0) {
v.setBackgroundResource(R.color.redColor);
tx1Count = 1;
b[0] = 1;
Toast.makeText(MainActivity.this, "Parking Alloted", Toast.LENGTH_SHORT).show();
} else if (tx1Count == 1) {
v.setBackgroundResource(R.color.Green);
tx1Count = 0;
b[0] = 0;
}
}
});
答案 0 :(得分:0)
您将必须更改方法才能开始新活动。 首先,您必须像这样启动它:
private int request_code = 10
startActivityForResult(createIntentWithData(yourList,request_code)
接下来,您的车库必须实现Parcelize才能将其放入已创建的意图包中。
在第一个活动中,您必须重写onActivityResult方法,然后在其中检索数据。
要将数据放置在将要更新的第二个活动中,您可以使用类似以下的内容:
@Override
public void onBackPressed() {
Intent data = new Intent();
data.putExtra("key", yourDataHere);
setResult(Activity.RESULT_OK, data);
super.onBackPressed();
}