我是安卓新手。我正在创建一个应用程序,它从设备中的联系人列表中获取联系人并将它们发送到其他活动。现在的问题是代码向我显示了所有数据,但是在发送到下一个活动时,我只能将数字发送到文本框中的下一个活动。所以,如果有人可以帮助我,请......提前谢谢你......
这是我的MainActivity.java
public class MainActivity extends Activity {
private static final int CONTACT_PICKER_RESULT = 1001;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button Btn = (Button)findViewById(R.id.getContacts);
Btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new Intent(Intent.ACTION_PICK, ContactsContract.CommonDataKinds.Phone.CONTENT_URI);
startActivityForResult(i, CONTACT_PICKER_RESULT);
}
});
}
protected void onActivityResult(int reqCode, int resultCode, Intent data) {
super.onActivityResult(reqCode, resultCode, data);
if(resultCode == RESULT_OK) {
switch (reqCode) {
case CONTACT_PICKER_RESULT:
Cursor cursor = null;
String number = "";
try {
Uri result = data.getData();
//get the id from the uri
String id = result.getLastPathSegment();
//query
cursor = getContentResolver().query(
ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
null,
ContactsContract.CommonDataKinds.Phone._ID + " = ? " , new String[] {id}, null);
int numberIdx = cursor.getColumnIndex(Phone.DATA);
if(cursor.moveToFirst()) {
number = cursor.getString(numberIdx);
Intent i = new Intent(this,Contacts.class);
i.putExtra("Contacts",number);
startActivity(i);
}
} catch (Exception e) {
//failed
} finally {
if (cursor!=null) {}
}
}
}
}
}
这是带有 edittext 和按钮Contacts.java的第二个活动
public class Contacts extends Activity{
NfcAdapter adapter;
PendingIntent pendingIntent;
IntentFilter writeTagFilters[];
boolean writeMode;
Tag mytag;
Context ctx;
@SuppressLint("NewApi")
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.contacts_main);
final EditText data = (EditText)findViewById(R.id.text1);
String value1 = super.getIntent().getExtras().getString("Contacts");
data.setText(value1);
}
}