我的申请中有四项活动。
按前三个活动的按钮导致第四个活动。我用它来开始第四项活动。
在第四项活动中。我有一个文本视图哪个更改其文本如下: -
如果活动4由活动1启动:文本更改为0。 如果活动4由活动2启动:文本更改为1。 如果活动4由活动3启动:文本更改为2。
我声明了这样的意图 对于第一活动
Intent intent = new Intent(this, Main4Activity.class);
intent.putExtra("callingActivity",0);
startActivity(intent);
第二个活动
Intent intent = new Intent(this, Main4Activity.class);
intent.putExtra("callingActivity",1);
startActivity(intent);
第三次活动
Intent intent = new Intent(this, Main4Activity.class);
intent.putExtra("callingActivity",2);
startActivity(intent);
在第四活动中,要获取数据,我使用了这样的意图......:
public int checkCallingActivity() {
int callingActivity;
callingActivity = getIntent().getIntExtra("callingActivity", 7);
return callingActivity;
}
但是当我运行程序并从活动1,2或3中调用活动4时,它不会采用意图值。在这种情况下,默认值为7。代码中的逻辑错误是什么以及如何解决它?
答案 0 :(得分:0)
更改此行:
callingActivity = getIntent().getIntExtra("callingActivity", 7);
使用:
callingActivity = getIntent().getIntExtra("callingActivity", 0);
希望它有所帮助。
答案 1 :(得分:0)
在Main4Activity's
onCreate()
方法中,试试这个:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
............
...................
int callingActivity = 0;
Bundle bundle = getIntent().getExtras();
if (bundle != null) {
callingActivity = bundle.getInt("callingActivity");
}
textView.setText(String.valueOf(callingActivity));
}