如何将putExtra()值从Intent Activity传递给editText?

时间:2016-08-30 09:50:03

标签: android android-intent android-edittext

我是Android编码的初学者。我正在设计一个需要记录用户的应用程序。信息。我理解如何从EditText获取文本并显示为 另一个活动上的TextView。我对如何将putExtra()值传递给EditText感到困惑,有人能给我一些建议吗?

第一项活动:

......
abc.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
            Intent agreeTerms = new Intent(terms.this, user_info.class);
            agreeTerms.putExtra("Email ID on plan_type", getEmail);
            startActivity(agreeTerms);
    }
}
......

第二个活动(从First Activity接收putExtra()值):

public class user_info extends AppCompatActivity {
    EditText getEmail;

    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.user_info);
        getEmail = (EditText)findViewById(R.id.txtEmail);

        if (savedInstanceState == null) {
            Bundle extras = getIntent().getExtras();
            if(extras == null) {
                getEmail = null;
            } else {
                getEmail = extras.getString("Email ID on plan_type");
                getEmail.setText(getEmailFromID, TextView.BufferType.EDITABLE);
            }
        }
    }
}

感谢大家看到并回答我的问题。

4 个答案:

答案 0 :(得分:0)

getEmail.setText(getIntent().getStringExtra("Email ID on plan_type"));

答案 1 :(得分:0)

  Intent intent=getIntent();
  if(intent!=null){
      Bundle bundle=intent.getExtras();
      if(bundle!=null){
         String value = bundle.getString("Email ID on plan_type");
         if(value != null)
          { 
            getEmail.setText(value);

          }
      }
  }

答案 2 :(得分:0)

在第一项活动中:

abc.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
            Intent agreeTerms = new Intent(terms.this, user_info.class);
            agreeTerms.putExtra("Email ID on plan_type",editText.getText().toString());
            startActivity(agreeTerms);
    }
}

在SecondActivity中:

public class user_info extends AppCompatActivity {
    EditText getEmail;

    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.user_info);
        getEmail = (EditText)findViewById(R.id.txtEmail);

        if (savedInstanceState == null) {
                String getEmail =getIntent().getStringExtra("Email ID on plan_type");
                getEmail.setText(get_Email);

        }
    }
}

答案 3 :(得分:0)

我必须为每个人感到难过。我不介绍校对和调试由前同事编写的应用程序。 EditText的颜色变为#FFFFFF(我不知道为什么或某些支持库与它发生冲突。)。所以我强调它,它没有任何代码更改的价值。

我向那些浪费时间阅读或回答我愚蠢问题的成员道歉。