gpt4 book ai didi

android - android eclipse中的多页面切换

转载 作者:行者123 更新时间:2023-11-30 04:10:56 24 4
gpt4 key购买 nike

考虑我正在为项目“A”使用五个屏幕页面。每个页面都在其他页面之间依次切换,我需要在单击页面中的“退出”按钮时关闭所有页面五个,也就是最后一个。

我已经使用了下面的代码,但问题是只有最后一页越来越接近其他页面。

在下面找到我的代码

Button extbtn = (Button)findViewById(R.id.but_Exit);
extbtn.setOnClickListener(new View.OnClickListener() {

public void onClick(View v) {
Intent intent = new Intent();
setResult(RESULT_OK, intent);
finish();
} });

感谢您的宝贵时间!

最佳答案

让所有五个 Activity 都扩展一个 BaseActivity,它在 onCreate 注册一个 BroadcastReceiver(并在 onDestroy 取消注册)。单击 extbtn 时,向所有这些 BaseActivities 发送广播以关闭它们自己

例如,在您的 BaseActivity 中添加:

public static final String ACTION_KILL_COMMAND = "ACTION_KILL_COMMAND";
public static final String ACTION_KILL_DATATYPE = "content://ACTION_KILL_DATATYPE";

private KillReceiver mKillReceiver;

@Override
protected void onCreate(Bundle savedInstanceState) {
...
...
mKillReceiver = new KillReceiver();
registerReceiver(mKillReceiver, IntentFilter.create(ACTION_KILL_COMMAND, ACTION_KILL_DATATYPE));
}

@Override
protected void onDestroy() {
super.onDestroy();
unregisterReceiver(mKillReceiver);
}

private final class KillReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
finish();
}
}

在 extbtn 的 onClick 调用中:

extbtn.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// send a broadcast that will finish activities at the bottom of the stack
Intent killIntent = new Intent(BaseActivity.ACTION_KILL_COMMAND);
killIntent.setType(BaseActivity.ACTION_KILL_DATATYPE);
sendBroadcast(killIntent);

Intent intent = new Intent();
setResult(RESULT_OK, intent);
finish();
}
});

关于android - android eclipse中的多页面切换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10880259/

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