我正在尝试将一个活动的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);
答案 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")); }