首页 文章

如何显示数据库中的数据android [重复]

提问于
浏览
-2

这个问题在这里已有答案:

即时尝试进行查询,但显示错误 . 这是我的代码

public String c(){ 
    objBD = new Bd(nContext, "Laboratorios", null, 1);
    db = objBD.getReadableDatabase();
    Cursor c=db.rawQuery("SELECT * FROM Laboratorios WHERE ID = (SELECT MAX(ID) FROM Laboratorios);", null);
    if(c!=null) {
        while (c.moveToNext()) {
            String iLab = c.getString(c.getColumnIndex("Descripcion"));

            //.add(iLab);
            return iLab;
        }
    }
    return null;
}

这是我想要显示它的活动

protected void onCreate(Bundle savedInstanceState) {
    TextView Lab=(TextView)findViewById(R.id.lab_con);
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_consulta);
    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);

    ConexionBD O1=new ConexionBD(this);
    O1.c();


    Lab.setText(O1);

    FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
    fab.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
                    .setAction("Action", null).show();

        }
    });




    getSupportActionBar().setDisplayHomeAsUpEnabled(true);


        /*String texto ="bien";
        Toast toast = Toast.makeText(this, texto, Toast.LENGTH_LONG);
        toast.show();
        Intent i =new Intent(this,Labs.class);
        startActivity(i);*/

}



public void salir (View view){
    String texto ="Se ha guardado su registro";
    Toast toast = Toast.makeText(this, texto, Toast.LENGTH_LONG);
    toast.show();
    Intent salida=new Intent( Intent.ACTION_MAIN); //Llamando a la activity principal
    finish();

}

这是错误

Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.TextView.setText(java.lang.CharSequence)' on a null object reference

我试图在空白活动中做到这一点,但总是有错误,谢谢你的帮助 .

这是错误

java.lang.RuntimeException:无法启动活动ComponentInfo {com.example.oscar.app/com.example.oscar.app.consulta}:java.lang.NullPointerException:尝试调用虚方法'void android.support.design .widget.FloatingActionButton.setOnClickListener(android.view.View $ OnClickListener)”上在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2646)在android.app.ActivityThread.handleLaunchActivity空对象引用(ActivityThread.java:2707 )维持在安卓android.app.ActivityThread.-wrap12(ActivityThread.java)在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1460)在android.os.Handler.dispatchMessage(Handler.java:102) . os.Looper.loop(Looper.java:154)位于com.android.internal.os的java.lang.reflect.Method.invoke(Native Method)的android.app.ActivityThread.main(ActivityThread.java:6077) . ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:865)在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755)产生的原因:java.lang.NullPoin terException:尝试在上com.example.oscar.app.consulta.onCreate(CONSULTA空对象引用调用虚拟方法“无效android.support.design.widget.FloatingActionButton.setOnClickListener(android.view.View $ OnClickListener)” . 的java:31)在android.app.Activity.performCreate(Activity.java:6664)在android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1118)在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2599)在android.app.ActivityThread.handleLaunchActivity在android.os(ActivityThread.java:2707)在android.app.ActivityThread.-wrap12(ActivityThread.java)在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1460) . Handler.dispatchMessage(Handler.java:102)位于android.app.Looper.loop(Looper.java:154)的android.app.ActivityThread.main(ActivityThread.java:6077),位于java.lang.reflect.Method.invoke (本地方法)位于com.android.internal.os.ZygoteInit的com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:865) . 主要(ZygoteInit.java:755)

1 回答

  • 0

    问题似乎如下

    TextView Lab=(TextView)findViewById(R.id.lab_con);
    

    您似乎正在尝试查找尚未在屏幕上绘制的视图 . 尝试将行移动到活动布局之后,如下所示:

    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_consulta);
    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);
    TextView Lab=(TextView)findViewById(R.id.lab_con);
    

相关问题