Android intent.getStringExtra()返回null

时间:2016-10-10 05:52:50

标签: android

MainActivity

public class MainActivity extends AppCompatActivity {
            private static final int REQ_CODE_TO_ADD = 123;
            final ArrayList<Contact> allContact = new ArrayList();
            ArrayList<String> name = new ArrayList();

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    final Intent intent = new Intent(this,DetailActivity.class);
    Button addbt = (Button)findViewById(R.id.addbt);

public void onClickAdd(View v){
    Intent intent = new Intent(this,AddContactActivity.class);
    startActivityForResult(intent,REQ_CODE_TO_ADD);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if(requestCode == REQ_CODE_TO_ADD){
        if(resultCode == 0){
            Intent intent = getIntent();
            String name2 = intent.getStringExtra("namev");
            String email2 = intent.getStringExtra("emailv");
            String birthday2 = intent.getStringExtra("birthdayv");

            Log.d("AAA",">>>:"+name2);

            Contact person = new Contact(name2,email2,birthday2);
            allContact.add(person);
        }}
}
}

AddContactActivity

public class AddContactActivity extends AppCompatActivity {
private static final int REQ_CODE_TO_MAIN = 321;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_add_contact);
}

public void onClickOk(View v){
    EditText name = (EditText)findViewById(R.id.nameet);
    EditText email = (EditText)findViewById(R.id.email);
    EditText birthdate = (EditText)findViewById(R.id.birthdate);

    Intent intent = new Intent();
    intent.putExtra("namev",name.getText().toString());
    intent.putExtra("emailv",email.getText().toString());
    intent.putExtra("birthdayv",birthdate.getText().toString());
    setResult(0,intent);
    finish();
}
}

AddContactActivity我已经使用了intent.putExtra name.getText()。toString()并将意图发送给MainActivity

为什么MainActivity Log.d输出中的onActivityResult()为空?

4 个答案:

答案 0 :(得分:2)

您正在使用最初启动活动的Intent。使用作为参数发送的Intent。

答案 1 :(得分:1)

<?php echo "<script>document.getElementByID("#id").innerHTML = ". $myresult."</script>"

您需要使用数据而不是getIntent()

答案 2 :(得分:0)

没有必要

Intent intent = getIntent();

意图已作为参数传递,即数据&#39;

使用此变量提取数据。 希望这会有所帮助。

答案 3 :(得分:0)

Intent intent = getIntent(); // This line is wrong
            String name2 = intent.getStringExtra("namev");
            String email2 = intent.getStringExtra("emailv");
            String birthday2 = intent.getStringExtra("birthdayv");

像这样修改你的代码

if(requestCode==2 && resultCode==RESULT_OK){
            Bundle bundle=data.getExtras();// here "data" is your intent
            String string=bundle.getString("message");

            Log.i(TAG,"onActivityResult Called..."+string);
        }