ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

java-将消息从多个活动传递到主要活动

2019-12-08 17:10:52  阅读:187  来源: 互联网

标签:android-intent android-activity java android


很难解决我的问题,但是可以解决.

我有一个活动“活动1”,由此我可以打开三个活动“活动2”,“活动3”和“活动4”之一,我希望结果来自活动3.在这些活动的每一个中,我都可以创建一个新的意图来打开其他任何活动,依次在当前活动上调用finish().

当我从“活动1”中打开“活动3”,然后按一下按钮以完成“活动3”时,它将完美地发送消息,我的代码适用于我.我的问题在于从活动1打开活动2,然后从活动2打开活动3(依次在活动2上调用finish()),然后在活动3中按下按钮并将相同的消息发送到活动1.当我试图让它发送结果代码“ 726”时,发送的结果代码为0.

总而言之,我希望能够从某个未知级别的其他活动的意图创建的活动中发送消息,但是如果可行的话,消息总是返回到同一最低级别的活动.

很抱歉,这很难理解,希望有人能帮助我

解决方法:

我讨厌回答我自己的问题,但是无论如何我都想出其他答案的答案:

从主要活动

 public void onClick2Activity(View v){
            Intent i = new Intent();
            i.setClass(1Activity.this, 2Activity.class);
            startActivityForResult(i, 0);
        }

@Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if(resultCode==726){
            Bundle bundle = data.getExtras();
            int string = bundle.getInt("test");
            Log.v("Extra", "" + string);
            Toast.makeText(this, "Pass", Toast.LENGTH_LONG).show();
        }
        else{
            Toast.makeText(this, "Fail", Toast.LENGTH_LONG).show();
        }
    }

来自2Activity:

    public void onClick3Activity(View v){
            Intent i = new Intent();
            i.setClass(2Activity.this, 3Activity.class);
            startActivityForResult(i, 1);
        }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if(resultCode==726){
            Intent in = new Intent();
            in.putExtra("test", "test");
            setResult(726,in);
            finish();
        }
        else{
            Log.v("Failed", "Failed");
        }
    }

来自3Activity:

public void onItemClick(){ 
    Intent in = new Intent();
    weaponID = position  + 1;
    in.putExtra("test", "test");
    setResult(726,in);
    finish();
}

标签:android-intent,android-activity,java,android
来源: https://codeday.me/bug/20191208/2093139.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有