如何将 EditText 中的文本插入数据库?

SFDEV

我正在尝试从editText获取文本并将其输入到我的数据库中。我遇到的问题是NullPointerException一次我尝试提交文本。任何帮助,将不胜感激。

错误:

 java.lang.NullPointerException: Attempt to invoke virtual method 'android.text.Editable android.widget.EditText.getText()' on a null object reference

这是来自我的MainActivity

public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()){

        case R.id.action_add_task:

            final EditText text = (EditText)findViewById(R.id.editText);

            AlertDialog dialog = new AlertDialog.Builder(this)
                    .setTitle("Add New Task")
                    .setMessage("what do you want to do next")
                    .setView(R.layout.custom_view)
                    .setPositiveButton("Add", new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialog, int which) {

                            String task;
                            task = text.getText().toString();

                            dbHelper.insertNewTask(task);
                            if(getFragmentRefreshListener()!=null) {
                                getFragmentRefreshListener().onRefresh();
                            }
                            loadTaskList();
                        }
                    })
                    .setNegativeButton("Cancel",null)
                    .create();
            dialog.show();

            return true;
    }
    return super.onOptionsItemSelected(item);
}

我的custom_view.xml

  <EditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="Enter a task"
        android:id="@+id/editText" />

我的activity_main.xml:

<android.support.design.widget.TabLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/tablayout"
        android:background="@color/colorPrimaryDark"
        android:minHeight="?attr/actionBarSize"
        >

    </android.support.design.widget.TabLayout>

     <android.support.v4.view.ViewPager
            android:id="@+id/pager"
            android:layout_width="match_parent"
            android:layout_height="fill_parent"
            android:backgroundTint="@android:color/darker_gray"
            android:visibility="visible">

            <ListView
                android:id="@+id/lstTask"
                android:layout_width="match_parent"
                android:layout_height="match_parent"

                android:layout_alignParentStart="true"
                android:layout_alignParentTop="true"
                android:text="@string/tasks"
                android:textSize="30sp" />
        </android.support.v4.view.ViewPager>
马可·皮耶鲁奇

好吧,因为我看不到MainActivity布局的 xml ,所以这很可能是导致 NPE 的原因。

 final EditText text = (EditText)findViewById(R.id.editText);

当(假设从对话框创建中显示的内容)您应该在对话框视图层次结构中搜索它时,您在活动视图层次结构中搜索您的编辑文本。

      .setView(R.layout.custom_view)

您正在将该视图设置为对话框的视图,这可能是导致异常的原因。尝试像这样在 onClick 方法中细化对编辑文本的引用:

 AlertDialog dialog = new AlertDialog.Builder(this)
                .setTitle("Add New Task")
                .setMessage("what do you want to do next")
                .setView(R.layout.custom_view)
                .setPositiveButton("Add", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {

                        final EditText text = ((AlertDialog)dialog).findViewById(R.id.editText);
                        String task;
                        task = text.getText().toString();

                        dbHelper.insertNewTask(task);
                        if(getFragmentRefreshListener()!=null) {
                            getFragmentRefreshListener().onRefresh();
                        }
                        loadTaskList();
                    }
                })
                .setNegativeButton("Cancel",null)
                .create();
        dialog.show();

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将editText中的字母大写?

来自分类Dev

如何将文本框中的数据和日期/时间插入Access数据库?

来自分类Dev

如何将文本从edittext转换为listview?

来自分类Dev

如何将文档中的文本放入数据库?

来自分类Dev

如何将EditText输入到变量中

来自分类Dev

如何将动态添加的文本框插入MySQL数据库

来自分类Dev

如何将文本文件插入数据库表phpmyadmin

来自分类Dev

如何将文本文件插入数据库表mysql

来自分类Dev

如何将文本文件插入数据库表phpmyadmin

来自分类Dev

如何将多行文本从 .csv 文件插入到 sqlite 数据库

来自分类Dev

如何将数据插入数据库Laravel?

来自分类Dev

如何将数据插入SQL Server数据库

来自分类Dev

如何将数据从json对象插入数据库

来自分类Dev

如何将初始数据插入Mendix数据库?

来自分类Dev

如何将包含点的数据插入数据库?

来自分类Dev

如何将数据从PHP插入MySQL数据库

来自分类Dev

如何将数据插入数据库

来自分类Dev

如何将数据插入SQL Server数据库

来自分类Dev

如何将数据从json对象插入数据库

来自分类Dev

如何将多个数据插入数据库?

来自分类Dev

如何将 HTML 表格数据插入数据库

来自分类Dev

如何将 JSON 数据插入数据库

来自分类Dev

单击按钮时,如何将文本从 alertdialog 的 EditText 复制并粘贴到我的活动的 EditText 中?

来自分类Dev

如何将熊猫数据框插入数据库中已存在的表中?

来自分类Dev

如何将下拉菜单中的数据插入数据库中的新表?

来自分类Dev

如何将alertdialog中的数据插入到数据库中

来自分类Dev

如何将文本从EditText字段添加到android studio中的不同TextViews

来自分类Dev

如何将 EditText(纯文本)的内容保存到内部存储上的 Txt 文件中

来自分类Dev

如何将csv文件中的数据插入sqlite数据库?

Related 相关文章

  1. 1

    如何将editText中的字母大写?

  2. 2

    如何将文本框中的数据和日期/时间插入Access数据库?

  3. 3

    如何将文本从edittext转换为listview?

  4. 4

    如何将文档中的文本放入数据库?

  5. 5

    如何将EditText输入到变量中

  6. 6

    如何将动态添加的文本框插入MySQL数据库

  7. 7

    如何将文本文件插入数据库表phpmyadmin

  8. 8

    如何将文本文件插入数据库表mysql

  9. 9

    如何将文本文件插入数据库表phpmyadmin

  10. 10

    如何将多行文本从 .csv 文件插入到 sqlite 数据库

  11. 11

    如何将数据插入数据库Laravel?

  12. 12

    如何将数据插入SQL Server数据库

  13. 13

    如何将数据从json对象插入数据库

  14. 14

    如何将初始数据插入Mendix数据库?

  15. 15

    如何将包含点的数据插入数据库?

  16. 16

    如何将数据从PHP插入MySQL数据库

  17. 17

    如何将数据插入数据库

  18. 18

    如何将数据插入SQL Server数据库

  19. 19

    如何将数据从json对象插入数据库

  20. 20

    如何将多个数据插入数据库?

  21. 21

    如何将 HTML 表格数据插入数据库

  22. 22

    如何将 JSON 数据插入数据库

  23. 23

    单击按钮时,如何将文本从 alertdialog 的 EditText 复制并粘贴到我的活动的 EditText 中?

  24. 24

    如何将熊猫数据框插入数据库中已存在的表中?

  25. 25

    如何将下拉菜单中的数据插入数据库中的新表?

  26. 26

    如何将alertdialog中的数据插入到数据库中

  27. 27

    如何将文本从EditText字段添加到android studio中的不同TextViews

  28. 28

    如何将 EditText(纯文本)的内容保存到内部存储上的 Txt 文件中

  29. 29

    如何将csv文件中的数据插入sqlite数据库?

热门标签

归档