0

У меня есть первое действие с этим кодом:ListView OnItemClickListener с новой деятельностью

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); 
    } 
}); 

А то у меня вторая активность с этим кодом:

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"))); 
} 

Но не работаю ... я хочу показать во втором действии в EditText данные «nota», которые являются String.

Это журнал:

06-09 15: 23: 55,340: Е/AndroidRuntime (1469): неустранимым: Основной 06-09 15: 23: 55,340: Е/AndroidRuntime (1469): Процесс: notasDeClase.example.notasdeclase, ПИД: 06-09 15 тысячи четыреста шестьдесят девять: 23: 55,340: Х/AndroidRuntime (1469): java.lang.RuntimeException: Невозможно запустить активности 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/AndroidRun время (1469): at android.app.ActivityThread.main (ActivityThread.java:5017) 06-09 15: 23: 55.340: E/AndroidRuntime (1469): at java.lang.reflect.Method.invokeNative (Родной метод) 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 (родной метод) 06-09 15:23 : 55.340: E/AndroidRuntime (1469): вызвано: 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 далее

+0

'dbHandler' - это что? ноль? – tachyonflux

+0

есть где у меня есть: \t public Cursor notasbyid (int id) { \t \t SQLiteDatabase db = getWritableDatabase(); \t \t Строковый запрос = "SELECT * FROM" + TABLA_NOTAS + "WHERE" + COLUMNA_ID + "=" + id + ";"; \t \t Курсор c = db.rawQuery (запрос, null); \t \t \t \t если (с = NULL) { \t \t \t c.moveToFirst(); \t \t} \t \t возвращение c; \t} – dach

+0

Попробуйте использовать 'startActivity' вместо' startActivityForResult'. Не похоже, что вы передаете какой-либо результат своей деятельности «BuscarNota» в любом случае. –

ответ

0

Я просто решу это. спасибо

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"))); 

} 
0

Где вы создаете dbHandler? Вы уверены, что правильно инициализировали его? Можете ли вы опубликовать сгенерированный результат SQL для этого? Вы получаете какое-либо исключение?

Некоторые советы:

  • Убедитесь, что вы правильно начать dbHandler вар;
  • Убедитесь, что результат c.getColumnIndexOrThrow ("nota") отличается от -1;
  • Проверьте созданный sql в LogCat и попытайтесь выявить несоответствия;
+0

Я думаю, что это хорошо dbHandler, и я просто добавляю журнал – dach

+0

ваш метод onCreate из класса Mostrar не завершается из-за исключения nullPointerException, которое вы получаете по строке 27 (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:). Что в этой линии? –

+0

: Курсор c = dbHandler.notasbyid (prePosition); – dach