0

我正在尝试根据 Expense 字段的值为 Null 打开一个表单。
如果在我的应用程序中我的列表项之一,其中一项费用项的值为 Null,
我希望它打开某个表单。
如果它包含值“1”,我希望它打开一个不同的表单。

有人可以看看我的代码,看看我哪里出错了。

private void fillData() {
            mItemsCursor = mDbHelper.fetchAllItems();
    startManagingCursor(mItemsCursor);

            String[] from = new String[]{DbAdapter.KEY_ITEM, DbAdapter.KEY_EXPENSE, DbAdapter.KEY_BUDGET,
            DbAdapter.KEY_ACTUAL, DbAdapter.KEY_RESULTS};


    int[] to = new int[]{R.id.text1, R.id.text2, R.id.text3, R.id.text4, R.id.text5};


            SimpleCursorAdapter items = 
        new SimpleCursorAdapter(this, R.layout.budget_row, mItemsCursor, from, to);
    setListAdapter(items);
}   

@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
    super.onListItemClick(l, v, position, id); 
    if (DbAdapter.KEY_EXPENSE == null) {
        Intent i = new Intent(this, Budget_Income.class);
        i.putExtra(DbAdapter.KEY_ROWID, id);        
        startActivityForResult(i, ACTIVITY_EDIT);
    }
    else {
        Intent a = new Intent(this, Budget_Expense.class);
        a.putExtra(DbAdapter.KEY_ROWID, id);        
        startActivityForResult(a, ACTIVITY_EDIT);
    }


}
4

1 回答 1

0

这是 DbAdapter.KEY_EXPENSE 常量(静态和最终)吗?如果是并且它被分配为 null,您将始终在 if 语句的该部分中输入。

于 2013-08-30T21:36:52.987 回答