与我的最后一个问题相同,我正在构建自定义联系人应用程序,该应用程序仅将联系人保存在该应用程序上。 我在创建联系人并查看它时遇到了一个问题。 每当我在新的联系人屏幕上单击“确定”时,就不会使用输入打开活动,而是将我推回到联系人列表。
我在这里看到了无数关于将信息从活动传递到另一个活动的问题,但这并没有帮助我。
我已从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
的所有信息,实际上是我在返回列表活动(不在此处发布)。