gpt4 book ai didi

android - OnBackPressed 同一 Activity 的多个实例

转载 作者:行者123 更新时间:2023-11-30 02:05:37 26 4
gpt4 key购买 nike

我正在使用自定义 ListView 进行 Activity 。在我的 ListView 中,有两种类型的项目,具有不同的布局。在项目上有一个开关,当我关闭开关时,我会转到 Activity A,当我打开开关时,我会转到 Activity B。

这是我的代码:

 Switch enable = (Switch) rowView.findViewById(R.id.enable);
enable.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (isChecked) {
Intent intentChange = new Intent(getContext(), ActivityA.class);
intentChange.putExtra(PROPERTY, "test1");
((Activity)getContext()).startActivityForResult(intentChange, 100);

} else {
Intent newIntent=newIntent(getContext(),ActivityB.class);
((Activity)getContext()).startActivityForResult(newIntent, 200);

}
}
});

在这些 Activity 中,我称之为:

Intent changedIntent=new Intent();
changedLimitIntent.putExtra("changed",changed);
changedLimitIntent.putExtra("changedDesc","desc);

setResult(Activity.RESULT_OK,changedIntent);
finish();

在我使用自定义适配器的 Activity 中,我有以下代码:

  @Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == RESULT_OK) {
if (requestCode == ActivityA.REQUEST_CODE) {
....
} else if (requestCode == ActivityB.REQUEST_CODE) {
.....
}
}
}

这对我来说没问题,但是,当我从 Activity A 或 Activity B 收到带有自定义 ListView 的 Activity 的结果时,当我单击后退按钮时,我多次等待此 Activity 的结果返回堆栈上的其他 Activity 。我不知道是什么问题。我不喜欢我的 Activity 太多次,我等待其他 Activity 的结果。

我希望我的问题很清楚。

最佳答案

试试这个来启动新 Activity 。希望对您有所帮助。

Activity_A.this.finish();
Intent intentSettings = new Intent(Activity_A.this, Activity_B.class);
intentSettings.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intentSettings);

关于android - OnBackPressed 同一 Activity 的多个实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30704835/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com