这里我在项目中创建了2个活动。
public class CheckAvailability extends Activity{
Button but1,but2;
EditText brName;
TextView txt1;
String text;
//private static final String ATM_NO = "atmbrno";
//private static final String ATM_PLACE = "atmbrname";
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.availability);
brName =(EditText)findViewById(R.id.editText1);
but1 = (Button)findViewById(R.id.button5);
but2 = (Button)findViewById(R.id.button6);
but1.setOnClickListener(new View.OnClickListener(){
public void onClick(View v){
String b_name=brName.getText().toString();
Intent intent1 = new Intent();
intent1.setClass(getApplicationContext(), ListAtmActivity.class);
Bundle b = new Bundle();
b.putString("key", b_name);
intent1.putExtras(b);
startActivity(intent1);
finish();}
});
but2.setOnClickListener(new View.OnClickListener(){
public void onClick(View v){
Intent intent1 = new Intent();
intent1.setClass(getApplicationContext(), SelectOption.class);
startActivity(intent1);
} });
}
}
我想将b_name String值传递给另一个Activity。这是我的第二个活动。
public class ListAtmActivity extends ListActivity{
TextView error;
String brName;
// contacts JSONArray
JSONArray contacts = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.list_main);
Bundle b = getIntent().getExtras();
brName = b.getString("key");
error = (TextView)findViewById(R.id.name);
error.setText(brName);}}
但我在第二次活动中无法获得该字符串?请帮我找错?
答案 0 :(得分:3)
答案比你试图做的更简单:
Intent intent = new Intent(this, ListAtmActivity.class);
intent.putExtra("key", b_name);
startActivity(intent);
然后在活动B中:
Intent intent= getIntent(); // gets the previously created intent
String value = intent.getStringExtra("key");
答案 1 :(得分:1)
public void onClick(View v){
Intent intent1 = new Intent();
intent1.setClass(CheckAvailability.this , ListAtmActivity.class);
intent1.putExtra("name", b_name );
startActivity(intent1);
}
然后在第二项活动中:
getIntent().getStringExtra("name");
答案 2 :(得分:1)
活动1:
Intent intent1 = new Intent();
intent1.setClass(getApplicationContext(), ListAtmActivity.class);
intent1.putExtra("key", b_name);
startActivity(intent1);
finish();
在活动2中:
Intent intent = getIntent();
brName = intent.getStringExtra("key");
答案 3 :(得分:1)
在您的第一个活动中,
Intent passIntent = new Intent(FirstActivity.this,
SecondActivity.class);
passIntent.putExtra("key", b_name);
startActivity(passIntent);
在SecondActivity中,
String u_name=getIntent().getExtras().getString("key");
答案 4 :(得分:1)
您需要使用putExtra()
Intent intent=new Intent(this,ListAtmActivity.class);
intent.putExtra("key",b_name);
startActivity(intent)
在ListAtmActivity
使用
String data;
data=getIntent.getExtras().getString("key");
现在您在数据变量中发送了值。
答案 5 :(得分:0)
在您的第一个活动中
Intent intent = new Intent(context, second.class);
intent.putExtra("string_name", "string");
startActivity(intent);
在你的第二个活动中
Bundle bundle = getIntent().getExtras();
extras.getString("string_name")
答案 6 :(得分:0)
在第一项活动中
Intent in=new Intent(first.this,second.class);
in.putExtra("nameOfImage", "firstImage");
startActivity(in);
在第二项活动中
Intent intent = getIntent();
String nameOfImage = intent.getStringExtra("nameOfImage");
答案 7 :(得分:0)
关于你的第二项活动:
替换:
Bundle b = getIntent().getExtras();
brName = b.getString("key");
使用:
Intent intentListatmactivity = getIntent();
brName = intentListatmactivity.getStringExtra("key");