java - 将 EditText 和 Spinner 数据插入 SQLite?

标签 java android sqlite

我正在尝试弄清楚如何使用 EditText 和 Spinner 从表单中捕获数据并将其插入到 SQLite 数据库中。我能够编写硬编码的属性,但是当我尝试使用 R.id.fieldName 时,它​​会抛出一个错误,因为它是一个整数而不是一个字符串。

public class PetAdd extends Activity {
DBAdapter db = new DBAdapter(this);
private OnClickListener btnPetAddListener = new OnClickListener() {
    @Override
    public void onClick(View arg0) {
        db.open();
        long id;
        id = db.insertPet("name", "type", "breed", "sex", "notes");
         /**id = db.insertPet(R.id.petName, R.id.SpinnerPetType, R.id.petBreed, R.id.SpinnerPetGender, R.id.EditTextPetAddOptions);*/
        db.close();
    }
};

我仍在尝试学习所有这些东西,而且我的大脑因查看过多的在线教程、示例和 Google 文档而焦躁不安。如果有人可以向我展示如何执行此操作,或者指导我使用 barney 风格的教程将其分解以便我了解发生了什么,将不胜感激。

最佳答案

R.id.fieldName 是对 Activity 中项目的数字引用(前提是它是布局的一部分)。

您需要调用 findViewById(R.id.fieldName) 来获取它的引用。您还需要将其转换为正确类型的 View (在您的情况下为 EditText),然后在整个过程中调用 getText().toString()。

把它们放在一起......

EditText myField = (EditText)findViewById(R.id.userName); //assuming you have a field named userName in your XML

String userNameValue = myField.getText().toString();

哦,欢迎来到 Stack...不要忘记将答案标记为正确,并在它们有帮助时为其点赞。

关于java - 将 EditText 和 Spinner 数据插入 SQLite?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8721365/

相关文章:

javascript - NodeJS 和 Knex - 表不会自动创建

javascript - Sencha sqlite 示例

python-3.x - Apache - sqlite3.OperationalError : attempt to write a readonly database

java - 如何构造 JNI 调用以避免内存泄漏?

java - 如何在 Java 中扩展枚举?

java - TimePickerDialog 和时区

Android Studio 无法解析导入模块中的符号

java - Seam 集中异常

java - 创建 Java 数据格式,其中插入空格

java - 尝试在不导入的情况下获取 View 类方法