0

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

这是我的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);
    }
}
4

1 回答 1

0

列出姓名、号码、......和

利用public Intent putExtra (String name, Serializable value)

将您的列表作为参数传递

于 2013-08-24T16:17:32.297 回答