Android:Dialog中的空指针异常

Mah*_*ahe 0 android dialog nullpointerexception

我有一个对话框,其中包含两个edittextbox.

在此输入图像描述

当我填写字段并单击提交按钮时,我需要将值保存在数据库中.我试图获取在字段中输入的值,但引发了空指针异常.

我的代码如下

 View v = getLayoutInflater().inflate(R.layout.sample, null);
            new AlertDialog.Builder(Context)
                    .setTitle(R.string.Details)
                    .setView(v)
                    .setNegativeButton(R.string.Cancel,
                            new DialogInterface.OnClickListener() {

                                @Override
                                public void onClick(DialogInterface dialog,
                                        int which) {
                                    // TODO Auto-generated method stub

                                }
                            })
                    .setPositiveButton(R.string.Submit,
                            new DialogInterface.OnClickListener() {

                                @Override
                                public void onClick(DialogInterface dialog,
                                        int which) {
                                    final EditText txtname=(EditText)findViewById(R.id.editText1);
                                    final EditText txtnumber=(EditText)findViewById(R.id.editText2);
                                    Save(txtname.getText().toString(),txtnumber.getText().toString());
                                }
Run Code Online (Sandbox Code Playgroud)

当我调试并检查时,它将txtname和txtnumber值显示为空.我哪里出错了?我正在使用布局来显示字段

布局是,

<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >

<TableRow>

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="10dp"
        android:text="Name" />

    <EditText
        android:id="@+id/editText1"
        android:layout_width="195dp"
        android:layout_height="wrap_content"
        android:layout_marginLeft="20dp"
        android:ems="10"
        android:hint="FirstName LastName"
        android:inputType="textPersonName" />

</TableRow>

<TableRow>

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="10dp"
        android:text="Phone" />

    <EditText
        android:id="@+id/editText2"
        android:layout_width="190dp"
        android:layout_height="wrap_content"
        android:layout_marginLeft="20dp"
        android:ems="10"
        android:inputType="number"
        android:maxLength="10" />

</TableRow>
Run Code Online (Sandbox Code Playgroud)

请帮帮我解决这个异常!!

Pra*_*ani 5

你的txtname并且txtnumber是空的

final EditText txtname=(EditText)findViewById(R.id.editText1);
 final EditText txtnumber=(EditText)findViewById(R.id.editText2);
Run Code Online (Sandbox Code Playgroud)

当您尝试访问空引用时,您将获得 NullPointerException

试着让他们这样

final EditText txtname=(EditText)v.findViewById(R.id.editText1);
 final EditText txtnumber=(EditText)v.findViewById(R.id.editText2);
Run Code Online (Sandbox Code Playgroud)