在警告对话框中编辑文本时访问getText()时的空指针

时间:2015-06-30 18:17:20

标签: android

我正在尝试创建一个警告对话框,其中包含文本字段和按钮。 我面临的问题是,editText对象上的String str=ets.toString();,它抛出了java.lang.NullPointerException。 我错过了什么吗?

Java代码:

private void newDialog1(Context ct) {
        final View v = getLayoutInflater().inflate(R.layout.layout, null);
        AlertDialog.Builder ad = new AlertDialog.Builder(MainActivity.this);
        ad.setView(v);
        setContentView(R.layout.layout);
        ad.setTitle("Enter Password");
                ad.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int id) {
                        Log.d(TAG, "Yes clicked");
                        EditText et = (EditText) (v.findViewById(R.id.editText));
                        if (et == null)
                            Log.e(TAG, "Null");
                        else {
                            Editable ets = et.getText();
                            String str=ets.toString();
                                Toast.makeText(MainActivity.this,str, Toast.LENGTH_SHORT).show();
                        }

                    }
                }).create().show();
    }`

布局xml文件:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/adDialog">



    <EditText
        android:id="@+id/editText"
        android:layout_width="match_parent"
        android:layout_marginTop="10dp"
        android:layout_marginLeft="10dp"
        android:layout_marginRight="10dp"
        android:layout_height="wrap_content"

 />

1 个答案:

答案 0 :(得分:0)

删除setContentView(R.layout.layout)