2011-03-20 20 views
0

所以我的情況是這樣的。我有兩張桌子,例如員工和部門。當創建一個新員工時,將有一個從部門數據庫填充的微調器,選擇此項後,它會將其插入到employee表中的一個字段中。Android Intent似乎沒有工作 - 需要幫助!

我想要做的是有一個部門列表,一旦部門被點擊,它會顯示屬於該部門的所有員工。

因此,繼承人是我迄今爲止,第一個代碼是從我的類,它顯示部門列表:

protected void onListItemClick(ListView l, View v, int position, long empDept) { 
     super.onListItemClick(l, v, position, empDept); 
     Intent i = new Intent(this, EmployeeActivity.class); 
     i.putExtra(DatabaseAdapter.DEPT_NAME, empDept); 
     startActivityForResult(i, ACTIVITY_START); 
    } 

我傳遞這給僱員名單活動,我已經只顯示測試的代碼一切,所以它是工作在一定程度上,但是當我試圖通過它沒有返回值,這裏的選擇部門名稱,查看是類的接收意向的部分:

private void fillData() { 

     Bundle extras = getIntent().getExtras(); 
     long result = extras.getLong("empDept"); 

     Cursor empCursor= DbHelper.getEmpByDept(result); 

     startManagingCursor(empCursor); 

這裏是我的數據庫查詢:

public Cursor getEmpByDept(long empDept) 
{ 
    return mDb.query(EMP_TABLE, new String[] { EMP_ID, EMP_TITLE, 
       EMP_NOTES, EMP_DATE_TIME, EMP_DEPT }, EMP_DEPT + "=" + empDept, null, 
       null, null, null, null); 
} 

所以我試圖做的只是顯示僱員時,部門點擊匹配什麼是僱員EMP_DEPT領域。

任何幫助,非常感謝。

+0

我想我會檢查'DatabaseAdapter.DEPT_NAME'真的等於查詢「EMPDEPT」。 – user432209 2011-03-20 18:50:45

+0

我將如何去檢查什麼是通過? – user319940 2011-03-20 18:51:17

回答

1

in extras.getLong()輸入是捆綁的關鍵,即DatabaseAdapter.DEPT_NAME而不是"empDept"。還要確保密鑰DatabaseAdapter.DEPT_NAME包含正確的包裝前綴,如doc中所示。

順便說一句:你並不需要最後的空中是可選的,是指限制(如果你沒有一個做)

+0

我已經改變了這一點,它沒有錯誤,但仍然有不返回任何數據的結果。任何進一步的幫助表示讚賞 - 在onListItemClick或它應該在onActivityResult是否正確? – user319940 2011-03-20 19:34:17

+0

仍似乎沒有工作:( – user319940 2011-03-20 20:02:43

+0

@ user319940檢查結果是什麼值,是否是你給的實際長。如果結果是0L,那麼映射是不正確的。 onListItemClick' – juanmirocks 2011-03-20 20:12:53