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を使用した 2 番目のアクティビティです。

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 に答える