iteye_5695 2011-08-23 10:24
浏览 338
已采纳

不能通过finishAcitivity从当前activity关闭另一个activity吗?

android-sdk-doc中写得很清楚:

public void finishActivity (int requestCode)

Force finish another activity that you had previously started with startActivityForResult(Intent, int).

Parameters
requestCode The request code of the activity that you had given to startActivityForResult(). If there are multiple activities started with this request code, they will all be finished.

就是finishActivity可以关闭通过startActivityForResult启动的另一个activity或一组activity。

但是经过试验,这个方法并不起效:
[code="java"]
Intent intent = new Intent(mainActivity.this, ActivityA.class);
startActivityForResult(intent, 1);[/code]
[code="java"]public class ActivityA extends Activity{

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_a);
    Button activity_a_btn = (Button)findViewById(R.id.activity_a_btn);
    activity_a_btn.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            ActivityA.this.finishActivity(1);

        }
    });
}

}[/code]

在ActivityA中点击按钮,并没有关闭ActivityA。这是android的一个bug?

  • 写回答

1条回答 默认 最新

  • rainbow702 2011-08-23 12:00
    关注

    你好,你可能误解这个函数的意思了,他的意思应该是这样子的:
    你通过 mainActivity 来启动 ActivityA (使用 startActivityForResult 方法),那么你在 mainActivity 这个类中需要重写 onActivityResult() 这个方法,
    然后,你可以在 onActivityResult() 中通过 finishActivity() 方法去结束掉 ActivityA

    这个可能是该函数的真正意图,希望能给你一点帮助。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 请教:如何用postman调用本地虚拟机区块链接上的合约?
  • ¥15 为什么使用javacv转封装rtsp为rtmp时出现如下问题:[h264 @ 000000004faf7500]no frame?
  • ¥15 乘性高斯噪声在深度学习网络中的应用
  • ¥15 运筹学排序问题中的在线排序
  • ¥15 关于docker部署flink集成hadoop的yarn,请教个问题 flink启动yarn-session.sh连不上hadoop,这个整了好几天一直不行,求帮忙看一下怎么解决
  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛