app contactos
Publicado por Charly (69 intervenciones) el 20/02/2017 19:48:37
Hola, estoy iniciandome en esto de Android.
Me han mandado crear una app para mostrar los contactos de mi telefono.
El problema es que no llega a ejecutarse.
Compila bien, se instala bien, pero a la hora de ejecutarse me sale este error:
E/AndroidRuntime: FATAL EXCEPTION: main
java.lang.RuntimeException: Unable to start activity ComponentInfo{charly.izquierdofp.es.curso/charly.izquierdofp.es.curso.ListaContactos1Activity}: java.lang.NullPointerException
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2085)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2110)
at android.app.ActivityThread.access$600(ActivityThread.java:138)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1205)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4940)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:798)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:565)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.NullPointerException
at charly.izquierdofp.es.curso.ListaContactos1Activity.onCreate(ListaContactos1Activity.java:31)
at android.app.Activity.performCreate(Activity.java:5274)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1082)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2049)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2110)
at android.app.ActivityThread.access$600(ActivityThread.java:138)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1205)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4940)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:798)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:565)
at dalvik.system.NativeStart.main(Native Method)
Application terminated.
A continuación pego el código del fichero en el que me da el error:
Li linea en la que me da el error es la que pone:
lista.setAdapter(cursorAdapter);
Me han mandado crear una app para mostrar los contactos de mi telefono.
El problema es que no llega a ejecutarse.
Compila bien, se instala bien, pero a la hora de ejecutarse me sale este error:
E/AndroidRuntime: FATAL EXCEPTION: main
java.lang.RuntimeException: Unable to start activity ComponentInfo{charly.izquierdofp.es.curso/charly.izquierdofp.es.curso.ListaContactos1Activity}: java.lang.NullPointerException
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2085)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2110)
at android.app.ActivityThread.access$600(ActivityThread.java:138)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1205)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4940)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:798)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:565)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.NullPointerException
at charly.izquierdofp.es.curso.ListaContactos1Activity.onCreate(ListaContactos1Activity.java:31)
at android.app.Activity.performCreate(Activity.java:5274)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1082)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2049)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2110)
at android.app.ActivityThread.access$600(ActivityThread.java:138)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1205)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4940)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:798)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:565)
at dalvik.system.NativeStart.main(Native Method)
Application terminated.
A continuación pego el código del fichero en el que me da el error:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
package charly.izquierdofp.es.curso;
import android.content.Intent;
import android.database.Cursor;
import android.provider.ContactsContract;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.SimpleCursorAdapter;
import android.widget.Toast;
import android.Manifest;
public class ListaContactos1Activity extends AppCompatActivity {
ListView lista;
SimpleCursorAdapter cursorAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_lista_contactos1);
//accedo a los contactos
String[] datos = new String[]{ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME};
EditText nombre = (EditText) findViewById(R.id.txtNombre);
Cursor c = getContentResolver().query(ContactsContract.Contacts.CONTENT_URI, null, null, null, ContactsContract.Contacts.DISPLAY_NAME);
if (c.moveToFirst()) {
cursorAdapter = new SimpleCursorAdapter(this, android.R.layout.simple_list_item_1, c, datos, new int[]{android.R.id.text1}, 0);
lista.setAdapter(cursorAdapter);
//programo el click
lista.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Cursor c = cursorAdapter.getCursor();
Intent i = new Intent(ListaContactos1Activity.this,ListaContactos2Activity.class);
i.putExtra("id",id);
i.putExtra("nombre",c.getString(c.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME)));
startActivity(i);
}
});
} else {
Toast.makeText(this,"Error", Toast.LENGTH_LONG).show();
}
}
}
lista.setAdapter(cursorAdapter);
Valora esta pregunta


0