2011-09-25 71 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(); 
相關問題