将字符串传递给Android中的另一个活动
也许有人可以帮助我。我想将两个字符串传递给另一个活动。这是我生成的字符串代码:将字符串传递给Android中的另一个活动
private void contactPicked(Intent data) {
Cursor cursor = null;
try {
String phoneNo = null;
String name = null;
// getData() method will have the Content Uri of the selected contact
Uri uri = data.getData();
//Query the content uri
cursor = getContentResolver().query(uri, null, null, null, null);
cursor.moveToFirst();
// column index of the phone number
int phoneIndex = cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER);
// column index of the contact name
int nameIndex = cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME);
phoneNo = cursor.getString(phoneIndex);
name = cursor.getString(nameIndex);
// Set the value to the textviews
textView1.setText(name);
textView2.setText(phoneNo);
} catch (Exception e) {
e.printStackTrace();
}
我想PHONENO和名称传递给我的MainActivity
我试图做一个SharedPreference和我MainAcitivity加载DefaultSharedPreference没有任何结果
在你的代码
Intent intent = new Intent(activity1.this, activity2.class);
intent.putExtra("key", keyId);
startActivity(intent);
添加这一点,并把它作为从第二活动
Bundle extras = getIntent().getExtras();
String value;
if (extras != null) {
value = extras.getString("key");
}
我所做的是:我从MainActivity去联系活动(那是字符串是)我选择一个联系人。当我在我的ContactActivity中执行startActivity(intent)时,程序会再次打开MainActivity。 – bfmv991
补充一点:
Intent intent = new Intent(context, MainActivity.class);
intent.putExtra("PHONE", phoneNo);
intent.putExtra("NAME", Name);
startActivity(intent);
在主要活动中补充一点:
Intent intent = getIntent();
String phonNo = intent.getStringExtra("PHONE");
String Name = intent.getStringExtra("Name");
我做的是:我从MainActivity去ContactActivity(那是字符串是)我选择一个联系人。当我在我的ContactActivity中执行startActivity(intent)时,程序会再次打开MainActivity。 – bfmv991
您可以使用意向
//从一个活动到其他数据传递via Intent
Intent intent = new Intent(getApplicationContext(),MainActivity.class);
intent.putExtra("phone", phoneNo);
intent.putExtra("name", name);
startActivity(intent);
//要在其他活动
Intent intent = getIntent();
String phonNo = intent.getStringExtra("phone");
String name = intent.getStringExtra("name");
接收数据从您想一旦你关闭你的ContactActivity无需再次打开在MainActivity(它不会增加堆栈)通过琴弦您的意见猜测。
可以开始活动,并等待结果,所以在您的主要活动变化
startActivity(intent);
为
startActivityForResult(i, REQUEST_CODE);
然后,在你ContactActivity你可以设置你的结果如下:
intent = new Intent();
intent.putExtra("PHONE", phoneNo);
intent.putExtra("NAME", Name);
setResult(RESULT_OK, intent);
而在onActivityResult中,您可以实现onActivityResult来检索Ë数据
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if(requestCode == REQUEST_CODE){
if(resultcode == RESULT_OK){
String phoneNo = data.getStringExtra("PHONE");
String name = data.getStringExtra("NAME");
//do whatever you want
}else{
//do something else
}
}
}
所以在ContactActivity我做的是: 'Intent intent = new Intent(getApplicationContext(),MainActivity.class); intent.putExtra(“PHONE”,phoneNo); intent.putExtra(“NAME”,name); startActivityForResult(i,REQUEST_CODE);' 和MainActivity我打电话onActivityResult? – bfmv991
在ContactActivity中,您使用我发布的意图。设置MainActivity.class不是必需的。一旦ContactActivity被解散,setResult将返回带有额外元素的intent到MainActivity。你不必调用ActivityResult,只需实现它。它会在收到结果时被调用 –
的可能的复制[您如何传递数据/参数,在Android的另一个活动(http://stackoverflow.com/questions/6340423/how-do-you-pass-data-parameters-到另一个活动在Android) – starkshang