列表项单击以打开表单

时间:2013-08-30 21:19:07

标签: android eclipse listview null

我正在尝试根据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);
    }


}

1 个答案:

答案 0 :(得分:0)

这个DbAdapter.KEY_EXPENSE是一个常数(静态和最终)?如果是,并且它被赋值为null,则您将始终在if语句的该部分内输入。