Java 如何将数据(即字符串)从一个活动传输到另一个活动?
我在第一个活动中有编辑文本,现在我想获取从当前活动到第二个活动的字符串。 这是第一个活动的代码Java 如何将数据(即字符串)从一个活动传输到另一个活动?,java,android,android-intent,Java,Android,Android Intent,我在第一个活动中有编辑文本,现在我想获取从当前活动到第二个活动的字符串。 这是第一个活动的代码 package com.example.bookyourcomfort; import android.R.string; import android.os.Bundle; import android.app.Activity; import android.content.Intent; import android.view.Menu; import android.view.Vie
package com.example.bookyourcomfort;
import android.R.string;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.AutoCompleteTextView;
import android.widget.Button;
import android.widget.EditText;
public class CabBooking extends Activity {
EditText source,destination;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_cab_booking);
source=(EditText) findViewById(R.id.autotxt_source);
destination=(EditText) findViewById(R.id.auto_destination);
String s=source.getText().toString();
String d=destination.getText().toString();
final Bundle basket= new Bundle();
basket.putString("source", s);
basket.putString("destination", d);
Button submit=(Button) findViewById(R.id.button_submit);
submit.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent i=new Intent(CabBooking.this,Travels.class);
i.putExtras(basket);
startActivity(i);
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.cab_booking, menu);
return true;
}
}
以下是第二个活动代码:
package com.example.bookyourcomfort;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.widget.TextView;
public class Travels extends Activity {
TextView src,dest;
String source,destination;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_travels);
src=(TextView) findViewById(R.id.txt_source);
dest=(TextView) findViewById(R.id.txt_destination);
Bundle gt=getIntent().getExtras();
source=gt.getString("source");
src.setText(source);
destination=gt.getString("destination");
dest.setText(destination);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.travels, menu);
return true;
}
}
有人能帮我吗?这里:
String s=source.getText().toString();
String d=destination.getText().toString();
导致问题的行,因为在onCreate方法上从EditText获取用户文本,该方法始终返回空字符串
要解决当前问题,请执行以下操作:
String s=source.getText().toString();
String d=destination.getText().toString();
final Bundle basket= new Bundle();
basket.putString("source", s);
basket.putString("destination", d);
按钮单击监听器的onClick方法中的行。至少先搜索你已经在那里了,但它对我没有帮助吗?我没有获取其他活动的字符串,但这是你的捆绑包和onClick-in-first活动中的字符串代码。你应该在按钮的onClick中添加来自editText的getText。