问题传递活动中的信息

时间:2019-05-25 15:13:25

标签: android android-intent bundle

与我的最后一个问题相同,我正在构建自定义联系人应用程序,该应用程序仅将联系人保存在该应用程序上。 我在创建联系人并查看它时遇到了一个问题。 每当我在新的联系人屏幕上单击“确定”时,就不会使用输入打开活动,而是将我推回到联系人列表。

我在这里看到了无数关于将信息从活动传递到另一个活动的问题,但这并没有帮助我。 我已从startActivity(intent)切换到startActivityForResult(moverIntent,1); 我尝试对每个字符串使用putExtra()而不是bundle。 我尝试仅发送1个字符串而不是4个字符串,但仍然无法正常工作。

AddNewActivity.java

        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_addcontact);

        ok=findViewById(R.id.okIB);
        not_ok=findViewById(R.id.notokIB);

        fullName=findViewById(R.id.fullnameET);
        nickName=findViewById(R.id.nicknameET);
        email=findViewById(R.id.emailET);
        phoneNum=findViewById(R.id.phoneET);

        final String name,nick,emaill,phone;
        name=fullName.getText().toString();
        nick=nickName.getText().toString();
        emaill=email.getText().toString();
        phone=phoneNum.getText().toString();


        ok.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                ok.setImageResource(R.drawable.okpress);
                Intent moverIntent=new Intent(AddNewActivity.this,ContactActivity.class);
                Bundle bundle=new Bundle();
                bundle.putString("fullName",name);
                bundle.putString("nickName",nick);
                bundle.putString("email",emaill);
                bundle.putString("phoneNum",phone);
                moverIntent.putExtras(bundle);

                startActivityForResult(moverIntent,1);

            }
        });

ContactActivity.java

        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_contact);

        //Intent get_info=getIntent(); //Previous attempt of getting the Bundle
        Bundle old_info= getIntent().getExtras();
        final String phone_num,full_name,nick_name,email_add;

        phone_num=old_info.getString("phoneNum");
        full_name=old_info.getString("fullName");
        nick_name=old_info.getString("nickName");
        email_add=old_info.getString("email");

        pic_btn=findViewById(R.id.take_pic);
        date_btn=findViewById(R.id.take_date);
        call_btn=findViewById(R.id.take_call);
        sms_btn=findViewById(R.id.send_sms);
        phone=findViewById(R.id.contact_phoneTV);
        name=findViewById(R.id.contact_nameTV);
        nick=findViewById(R.id.nick_nameTV);
        email=findViewById(R.id.emailTV);

        phone.setText(phone_num);
        name.setText(full_name);
        nick.setText(nick_name);
        email.setText(email_add);

根据我在这里学习和阅读的内容,我期望活动ContactActivity将打开并显示AddNewActivity的所有信息,实际上是我在返回列表活动(不在此处发布)。

0 个答案:

没有答案