1

我是android开发的新手。我正在制作一个简单的费用管理程序,其中有 2 个按钮;一个保存收款人、日期和金额记录以及查看这些记录的其他按钮。这是我编写的主要代码的一部分:

public class database {
public static final String DBNAME = "dbexpense";
SQLiteDatabase db;
DBHandler handler;

public database(Context ctx) {
    handler = new DBHandler(ctx);
}

class DBHandler extends SQLiteOpenHelper {
    public DBHandler(Context ctx) {
        super(ctx, DBNAME, null, 1);
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        db.execSQL("Create table expenses(id integer primary key autoincrement,from text,dated date, amount number );");
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        db.execSQL("drop table if exists expenses");
        onCreate(db);
    }
}

public void open() {
    db = handler.getWritableDatabase();
}

public void close() {
    db.close();
}
public boolean saveRecord(String from, Date dated, Number amount)
{
    ContentValues cv=new ContentValues();
    cv.put("From", from);
    cv.put("Dated", dated);
    cv.put("Amount", amount);

    return db.insert("expenses", "", cv)>0;
    }

<EditText 
android:layout_width="match_parent" 
android:layout_height="wrap_content" 
android:id="@+id/editText2" 
android:inputType="date">
</EditText>
<EditText 
android:layout_width="match_parent" 
android:layout_height="wrap_content" 
android:id="@+id/editText3" 
android:inputType="number"></EditText>

我的 xml 文件具有日期和数字的编辑文本字段。这显示了一个错误:ContentValues 类型中的 put(String, String) 方法不适用于参数 (String, Date) 并且 ContentValues 类型中的 put(String, String) 方法不适用于参数 (String,数字)。有没有其他的保存方式?

4

1 回答 1

1

在您尝试存储它们之前,将您的值转换为预期的格式。

例如 String.ValueOf(number) 将数字转换为字符串。

于 2012-04-07T14:44:53.720 回答