Search code examples
androidlistviewandroid-activityonitemclicklistenersqliteopenhelper

ListView OnItemClickListener with a new Activity


I have the first activity with this code:

    lvlitems.setOnItemClickListener(new OnItemClickListener() {

    @Override
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
        //Toast.makeText(BuscarNota.this, "Clicked"+ id, Toast.LENGTH_SHORT).show();
        Intent intent= new Intent();
        intent.setClass(BuscarNota.this, Mostrar.class);
        intent.putExtra("id_nota", id);
        startActivityForResult(intent, 0);
    }
});

And then I have the second activity with this code:

EditText nota_input;
MiDB dbHandler;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_mostrar);
    nota_input= (EditText) findViewById(R.id.txtmostrar);

    int prePosition = getIntent().getIntExtra("id_nota", 0);
    Cursor c = dbHandler.notasbyid(prePosition);
    nota_input.setText(c.getString(c.getColumnIndexOrThrow("nota")));
}

But is not working... what I want is to show in the second activity in the EditText the data of "nota" that is a String.

This is the log:

06-09 15:23:55.340: E/AndroidRuntime(1469): FATAL EXCEPTION: main 06-09 15:23:55.340: E/AndroidRuntime(1469): Process: notasDeClase.example.notasdeclase, PID: 1469 06-09 15:23:55.340: E/AndroidRuntime(1469): java.lang.RuntimeException: Unable to start activity ComponentInfo{notasDeClase.example.notasdeclase/notasDeClase.example.notasdeclase.Mostrar}: java.lang.NullPointerException 06-09 15:23:55.340: E/AndroidRuntime(1469): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2195) 06-09 15:23:55.340: E/AndroidRuntime(1469): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245) 06-09 15:23:55.340: E/AndroidRuntime(1469): at android.app.ActivityThread.access$800(ActivityThread.java:135) 06-09 15:23:55.340: E/AndroidRuntime(1469): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196) 06-09 15:23:55.340: E/AndroidRuntime(1469): at android.os.Handler.dispatchMessage(Handler.java:102) 06-09 15:23:55.340: E/AndroidRuntime(1469): at android.os.Looper.loop(Looper.java:136) 06-09 15:23:55.340: E/AndroidRuntime(1469): at android.app.ActivityThread.main(ActivityThread.java:5017) 06-09 15:23:55.340: E/AndroidRuntime(1469): at java.lang.reflect.Method.invokeNative(Native Method) 06-09 15:23:55.340: E/AndroidRuntime(1469): at java.lang.reflect.Method.invoke(Method.java:515) 06-09 15:23:55.340: E/AndroidRuntime(1469): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779) 06-09 15:23:55.340: E/AndroidRuntime(1469): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595) 06-09 15:23:55.340: E/AndroidRuntime(1469): at dalvik.system.NativeStart.main(Native Method) 06-09 15:23:55.340: E/AndroidRuntime(1469): Caused by: java.lang.NullPointerException 06-09 15:23:55.340: E/AndroidRuntime(1469): at notasDeClase.example.notasdeclase.Mostrar.onCreate(Mostrar.java:27) 06-09 15:23:55.340: E/AndroidRuntime(1469): at android.app.Activity.performCreate(Activity.java:5231) 06-09 15:23:55.340: E/AndroidRuntime(1469): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087) 06-09 15:23:55.340: E/AndroidRuntime(1469): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2159) 06-09 15:23:55.340: E/AndroidRuntime(1469): ... 11 more


Solution

  • i just solve it. thanks

    EditText nota_input;
    MiDB dbHandler;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_mostrar);
    
        nota_input= (EditText) findViewById(R.id.txtmostrar);
        dbHandler = new MiDB(this, null, null,1);
    
        int prePosition =  (int) getIntent().getLongExtra("id_nota", 0);
        Cursor c = dbHandler.notasbyid(prePosition);
        nota_input.setText(c.getString(c.getColumnIndexOrThrow("nota")));
    
    }