1

このコードを使用すると、連絡先リストにアクセスできますが、連絡先をクリックすると編集テキスト ボックスに表示されません

ここに私のJavaコードがあります

    package com.example.test;        
    import android.net.Uri;
    import android.os.Bundle;
    import android.provider.ContactsContract;
    import android.provider.ContactsContract.Contacts;
    import android.app.Activity;
    import android.content.Intent;
    import android.database.Cursor;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.Button;
    import android.widget.EditText;
    import android.widget.Toast;

これはMainActivityで、pcは電話番号を表示したいeditTextボックスです

    public class MainActivity extends Activity {

        @SuppressWarnings("unused")
        private static final int PICK_CONTACT_REQUEST = 0;

        private static final int PICK_CONTACT = 1;
        Button pickContact;
        EditText pc;
        public void onCreate(Bundle savedInstanceState) 
        {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            pickContact = (Button) findViewById(R.id.button1);
            pc = (EditText) findViewById(R.id.editText1);
            pickContact.setOnClickListener(new OnClickListener()


        public void onCreate(Bundle savedInstanceState) 
        {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            pickContact = (Button) findViewById(R.id.button1);
            pc = (EditText) findViewById(R.id.editText1);
            pickContact.setOnClickListener(new OnClickListener() 
            {

連絡先の詳細にアクセスできるようになりますが、このインテント関数が正しいかどうかはわかりません

               public void onClick(View arg0) {
                    Intent intent1 = new Intent(Intent.ACTION_PICK,Contacts.CONTENT_URI);
                    startActivityForResult(intent1, PICK_CONTACT);
                    startActivity(intent1);
               }
            }
            );

        }

これは、editTextボックスに表示されていないため、何か問題があると感じている場所です

        public void onActivityResult(int reqCode, int resultCode, Intent data) { 
            super.onActivityResult(reqCode, resultCode, data); 

            switch (reqCode) { 
              case (PICK_CONTACT) : 
                if (resultCode == Activity.RESULT_OK) { 
                    Uri contactData = data.getData(); 
                      Cursor c = getContentResolver().query(contactData, null, null, null, null); 
                      if (c.moveToPosition(PICK_CONTACT)) { 
                         String name=c.getString(c.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME));
                          String number=c.getString(c.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
                         Toast.makeText(this,  name + " has number " + number, Toast.LENGTH_LONG).show(); 
                         pc.setText(number);
                         pc.setText(name);
                      } 
                 } 

               break; 
        }    
     }
  }

ありがとうございました :)

4

0 に答える 0