2013-02-01 50 views
0

我使用ListView的SherlockListActivity。 當列表中沒有項目時,我想顯示no_data字符串。 我跟着使用@android:id/empty的幾個例子,但他們不適合我。 '空'文本視圖永遠不可見。任何幫助表示讚賞。 這是我layout.xml:listview空視圖從不顯示

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:orientation="vertical" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" > 

<ListView android:id="@android:id/list" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content"/> 
<TextView android:id="@android:id/empty" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="@string/no_data"/> 
</LinearLayout> 

這是我的列表視圖如何填充我的MainActivity的Java文件

private void fillData() 
{  
    // Get cursor of name, bal, date for account list 
    Cursor cursor = db.getCursor(); 
    startManagingCursor(cursor); 

    // THE DESIRED COLUMNS TO BE BOUND 
    String[] columns = new String[] { "accounts.name", "accounts.bal", "accounts.ot"}; 

    // THE XML DEFINED VIEWS WHICH THE DATA WILL BE BOUND TO 
    int[] to = new int[] { R.id.tvName,R.id.tvBal, R.id.tvDate }; 

    // CREATE THE ADAPTER USING THE CURSOR POINTING TO THE DESIRED DATA AS WELL AS THE LAYOUT  INFORMATION 
    SimpleCursorAdapter mAdapter = new SimpleCursorAdapter(this, R.layout.main_list_item, cursor, columns, to); 

    // SET THIS ADAPTER AS YOUR LISTACTIVITY'S ADAPTER 
    this.setListAdapter(mAdapter); 

} 

這是我如何創建一個單獨的Java類

// Getting All accounts 
    public Cursor getCursor() { 
     SQLiteDatabase db = this.getReadableDatabase(); 
     Cursor cursor = db.query(TABLE_ACCOUNTS, new String[] { 
        KEY_AID,  // Account ID Integer 
        KEY_NAME, // Name of account 
        KEY_BAL,  // Balance 
        KEY_ADATE, // Occurrence time 

        }, 
        KEY_TYPE + "=?", 
        new String[] {"2"}, null, null, null); 

      // return account list 
      return cursor; 
光標

回答

0

我需要在我的ListActivity的OnCreate方法中添加以下內容。

setContentView(R.layout.activity_main); 

我發現這回記事本的例子,並將其與我的項目密切對比。 儘管我忘了設置layout.xml,但listview本身仍然有效。我相信這是因爲默認的ListActivity佈局是一個單一的列表視圖,其ID爲android:id/list。 既然正在使用正確的layout.xml,那麼ID爲@android:id/empty的文本視圖也可以使用。 道歉,因爲我沒有包括我的MainActivity的OnCreate方法,當我發佈的問題,這就是問題所在。