如何将EditText信息传输到另一个活动?

时间:2013-05-24 20:50:27

标签: android android-intent android-edittext

我正在尝试将一个活动的EditText中输入的信息发送到另一个活动,然后将其显示在TextView中。

发送信息的代码:

EditText ed = (EditText)findViewById(R.id.soeg_vare);
String s = ed.getText().toString();

public void onClick(View v)
{
    Intent myIntent = new Intent(Vare.this, Vare_resultat.class);
    myIntent.putExtra("SOEG_VARE",s);
    startActivity(myIntent);
}       

接收信息的代码:

Intent i = getIntent();
String var = i.getStringExtra("SOEG_VARE");
int convert = Integer.parseInt(var);

3 个答案:

答案 0 :(得分:0)

您应该在onClick方法中移动此行:

String s = ed.getText().toString();

现在s的设置与初始化editText的时间相同,并且在按下按钮时不会再次查看。

答案 1 :(得分:0)

当您调用

时,EditText可能仍然是空的
String s = ed.getText().toString();

试试这个:

EditText ed = (EditText)findViewById(R.id.soeg_vare);

public void onClick(View v){
    String s = ed.getText().toString();
    Intent myIntent = new Intent(Vare.this, Vare_resultat.class);
    myIntent.putExtra(s, s);
    startActivity(myIntent);
}     

接收信息的代码:

String s = "";
s = getIntent().getExtras().getString(s);
int convert = Integer.parseInt(s);

答案 2 :(得分:0)

Solution by the original asker

  

发送的代码:

private void addButtonListener() {
    final Button soeg = (Button) findViewById(R.id.soeg);
    final EditText ed = (EditText) findViewById(R.id.soeg_vare);
    soeg.setOnClickListener(new View.OnClickListener() {            
        @Override
        public void onClick(View v) {
            Intent send_soeg = new Intent(Vare.this, Vare_resultat.class);
            String s = ed.getText().toString();
            send_soeg.putExtra("SEND_SØG", s);
            startActivity(send_soeg);
        }
    });
}
     

收到的代码:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_vare_resultat);        
    TextView modtag_soeg = (TextView) findViewById(R.id.modtag_soeg);
    modtag_soeg.setText("Du søgte efter " + getIntent().getExtras().getString("SEND_SØG"));
}