Java 在android中,如何从联系人列表中获取所有数据并发送到另一个文本框中的活动?

Java 在android中,如何从联系人列表中获取所有数据并发送到另一个文本框中的活动?,java,android,android-intent,Java,Android,Android Intent,我不熟悉安卓系统。我正在创建一个应用程序,从设备中的联系人列表中提取联系人并将其发送到其他活动。现在的问题是,代码向我显示了所有数据,但在发送到下一个活动时,我只能在文本框中将数字发送到下一个活动。如果有人能帮我,请。。。。提前谢谢你 这是我的MainActivity.java public class MainActivity extends Activity { private static final int CONTACT_PICKER_RESULT = 1001;

我不熟悉安卓系统。我正在创建一个应用程序,从设备中的联系人列表中提取联系人并将其发送到其他活动。现在的问题是,代码向我显示了所有数据,但在发送到下一个活动时,我只能在文本框中将数字发送到下一个活动。如果有人能帮我,请。。。。提前谢谢你

这是我的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) {}
                    }
            }
        }
    }
}
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);
    }
}
这是使用edittext和按钮Contacts.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) {}
                    }
            }
        }
    }
}
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);
    }
}

列出姓名、号码等,。。。。。及

使用
public Intent putExtra(字符串名称,可序列化值)

将列表作为参数传递

i.putExtra(“联系人”,编号);好吧,就像这样,休息的细节在哪里。如果我错了,请纠正我,因为只传递了数字,所以只有数字可见