0

我只是想用一个联系人选择器填充一个edittext字段,我尝试使用已经可用的这么多链接。但这对我来说很难理解。这是我的活动,它具有编辑文本字段和一个按钮,单击该按钮时,联系人将打开。但是在选择按钮时,我无法将其填充到 edittext 字段中。请帮我。提前致谢。当我尝试运行时,这也是强制关闭的。原木猫

at dalvik.system.NativeStart.main(Native Method)

请帮帮我。这是活动代码:

package com.sach.droidclinic;

import android.annotation.SuppressLint;
import android.annotation.TargetApi;
import android.app.Activity;
import android.content.Intent;
import android.content.SharedPreferences;
import android.database.Cursor;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.provider.ContactsContract;
import android.provider.ContactsContract.Contacts;
//import android.provider.;
import android.support.v4.app.NavUtils;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

public class SaveNum extends Activity {
public Button SaveButton,contactButton1,contactButtton2,contactButton3;
EditText editText11;
private SharedPreferences savednotes1;
private static final int CONTACT_PICKER_RESULT = 1001;
private static final String DEBUG_TAG = null;
TextView disp;


     protected void onCreate(Bundle savedInstanceState){
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_save_num);

          SaveButton = (Button) findViewById(R.id.bt_savedb);
            editText11 = (EditText) findViewById(R.id.et_first);
            savednotes1 = getSharedPreferences("notes",MODE_PRIVATE);

     contactButton1= (Button)findViewById(R.id.contact_button1);
     contactButton1.setOnClickListener(new View.OnClickListener()   {             
         public void onClick(View view)  {               
          try {
          doLaunchContactPicker(view);
      } catch (Exception e) {
          // TODO Auto-generated catch block
          e.printStackTrace();                    
      }               
     }

    private void doLaunchContactPicker(View view) {
        // TODO Auto-generated method stub
        //@SuppressWarnings("deprecation")
        Intent contactPickerIntent = new Intent(Intent.ACTION_PICK,Contacts.CONTENT_URI);
         startActivityForResult(contactPickerIntent, CONTACT_PICKER_RESULT);

    }  
   });

}
 @SuppressLint("NewApi")
@Override
 protected void onActivityResult(int requestCode, int resultCode, Intent data) {
     disp= (TextView)findViewById(R.id.tv_printmsg);
     if (data != null) {
         Uri uri = data.getData();

         if (uri != null) {
             Cursor c = null;
             try {
                 c = getContentResolver().query(uri, new String[]{ 
                             ContactsContract.CommonDataKinds.Phone.NUMBER },null,
                         null, null, null);

                 if (c != null && c.moveToFirst()) {
                     String number = c.getString(0);
                     //Hint type = c.getInt(1);
                     disp.setText("Your score is " + number);
                 }
                 } finally {
                 if (c != null) {
                     c.close();
                 }
             }
         }
     }
 }


@TargetApi(Build.VERSION_CODES.HONEYCOMB)
private void setupActionBar() {
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
        getActionBar().setDisplayHomeAsUpEnabled(true);
    }
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.save_num, menu);
    return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
    case android.R.id.home:
        // This ID represents the Home or Up button. In the case of this
        // activity, the Up button is shown. Use NavUtils to allow users
        // to navigate up one level in the application structure. For
        // more details, see the Navigation pattern on Android Design:
        //
        // http://developer.android.com/design/patterns/navigation.html#up-vs-back
        //
        NavUtils.navigateUpFromSameTask(this);
        return true;
    }
    return super.onOptionsItemSelected(item);
}
}   

完整的 logcat 是:

`02-09 03:18:25.351: D/dalvikvm(21404): GC_EXTERNAL_ALLOC freed 49K, 49% free 2774K/5379K, external 408K/517K, paused 169ms
02-09 03:18:30.875: W/dalvikvm(21404): VFY: unable to resolve virtual method 4644: Lcom/sach/droidclinic/SaveNum;.getActionBar ()Landroid/app/ActionBar;
02-09 03:18:30.875: D/dalvikvm(21404): VFY: replacing opcode 0x6e at 0x0006
02-09 03:18:30.875: D/dalvikvm(21404): VFY: dead code 0x0009-000d in Lcom/sach/droidclinic/SaveNum;.setupActionBar ()V
02-09 03:18:30.875: W/dalvikvm(21404): VFY: unable to resolve virtual method 133: Landroid/content/ContentResolver;.query (Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Landroid/os/CancellationSignal;)Landroid/database/Cursor;
02-09 03:18:30.875: D/dalvikvm(21404): VFY: replacing opcode 0x74 at 0x0024
02-09 03:18:30.875: D/dalvikvm(21404): VFY: dead code 0x0027-004d in Lcom/sach/droidclinic/SaveNum;.onActivityResult (IILandroid/content/Intent;)V
02-09 03:18:58.265: W/dalvikvm(21687): VFY: unable to resolve virtual method 4644: Lcom/sach/droidclinic/SaveNum;.getActionBar ()Landroid/app/ActionBar;
02-09 03:18:58.265: D/dalvikvm(21687): VFY: replacing opcode 0x6e at 0x0006
02-09 03:18:58.265: D/dalvikvm(21687): VFY: dead code 0x0009-000d in Lcom/sach/droidclinic/SaveNum;.setupActionBar ()V
02-09 03:18:58.265: W/dalvikvm(21687): VFY: unable to resolve virtual method 133: Landroid/content/ContentResolver;.query (Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Landroid/os/CancellationSignal;)Landroid/database/Cursor;
02-09 03:18:58.265: D/dalvikvm(21687): VFY: replacing opcode 0x74 at 0x0024
02-09 03:18:58.265: D/dalvikvm(21687): VFY: dead code 0x0027-004d in Lcom/sach/droidclinic/SaveNum;.onActivityResult (IILandroid/content/Intent;)V
02-09 03:18:58.328: D/AndroidRuntime(21687): Shutting down VM
02-09 03:18:58.328: W/dalvikvm(21687): threadid=1: thread exiting with uncaught exception (group=0x40018578)
02-09 03:18:58.343: E/AndroidRuntime(21687): FATAL EXCEPTION: main
02-09 03:18:58.343: E/AndroidRuntime(21687): java.lang.NoSuchMethodError: android.content.ContentResolver.query
02-09 03:18:58.343: E/AndroidRuntime(21687):    at com.sach.droidclinic.SaveNum.onActivityResult(SaveNum.java:73)
02-09 03:18:58.343: E/AndroidRuntime(21687):    at android.app.Activity.dispatchActivityResult(Activity.java:3908)
02-09 03:18:58.343: E/AndroidRuntime(21687):    at android.app.ActivityThread.deliverResults(ActivityThread.java:2532)
02-09 03:18:58.343: E/AndroidRuntime(21687):    at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2111)
02-09 03:18:58.343: E/AndroidRuntime(21687):    at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:2139)
02-09 03:18:58.343: E/AndroidRuntime(21687):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1672)
02-09 03:18:58.343: E/AndroidRuntime(21687):    at android.app.ActivityThread.access$1500(ActivityThread.java:117)
02-09 03:18:58.343: E/AndroidRuntime(21687):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:935)
02-09 03:18:58.343: E/AndroidRuntime(21687):    at android.os.Handler.dispatchMessage(Handler.java:99)
02-09 03:18:58.343: E/AndroidRuntime(21687):    at android.os.Looper.loop(Looper.java:130)
02-09 03:18:58.343: E/AndroidRuntime(21687):    at android.app.ActivityThread.main(ActivityThread.java:3687)
02-09 03:18:58.343: E/AndroidRuntime(21687):    at java.lang.reflect.Method.invokeNative(Native Method)
02-09 03:18:58.343: E/AndroidRuntime(21687):    at java.lang.reflect.Method.invoke(Method.java:507)
02-09 03:18:58.343: E/AndroidRuntime(21687):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867)
02-09 03:18:58.343: E/AndroidRuntime(21687):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:625)
02-09 03:18:58.343: E/AndroidRuntime(21687):    at dalvik.system.NativeStart.main(Native Method)
4

0 回答 0