2011-09-25 19 views
0

我想使用此代码从数据库中的数据填充到一个TextView:NullPointerException在android中的视图上使用append方法?

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
TextView view = (TextView) findViewById(R.id.textView); 

    db = (new DatabaseHelper(this)).getWritableDatabase(); 
    cursor = getCursor(); 
    cursor.moveToFirst(); 
    while (cursor.isAfterLast() == false) { 
     String text = cursor.getString(2); 
     view.append(text); 
     cursor.moveToNext(); 
    } 

不过我正在这条线上一个NullPointerException:

view.append(text); 

,我不知道的理由视图存在。

+0

在你的问题 – Ronnie

回答

2

但是我得到一个NullPointerException在这条线:

view.append(文本);因为这个观点存在,所以我不确定其原因。

如果您确定view存在并且不为空,那么text必须为空。你可以,例如把它改写为view.append(text != null ? text : "(null)");

+0

我道歉粘贴logcat的错误。该视图确实存在,但布局不同。我只需要修改setContentView(R.layout.main);到适当的布局。你的代码帮助我弄清楚了这个问题,所以我打算接受它。谢谢。 –

2

你必须给数据库如何我的例子看的方向。
我做同样的例子,但与此不同:

**db = SQLiteDatabase.openDatabase("/data/data/cl.kl.muestrausuario/DataBases/BDUsuarios",null,SQLiteDatabase.OPEN_READONLY);** 
Cursor c = db.query("usuario", new String[]{"regID", "nombre", "apellido"}, null, null, null, null, null); 
c.moveToFirst(); 

while (c.isAfterLast() == false) 
{ 
    view.append("\n" + c.getString(1)); 
    view.append("\r" + c.getString(2)); 

    c.moveToNext(); 
相关问题