NPE对象参考上的NPE android.text.Editable android.widget.EditText.getText()'

问题描述 投票:1回答:1

当我在EditText上调用getText()时,我有了这个NPE。我有一个警报,我将布局设置为警报的视图,我需要从EditText获取文本。谢谢您的帮助

这是我的代码

        LinearLayout view;
        EditText input;
        Button in;
        Button gfxtr;
        Button gfh;

        private void numItem(int position) {
            view = (LinearLayout) getLayoutInflater()
                    .inflate(R.layout.dialog, null);
            input = (EditText) findViewById(R.id.input);
            in = (Button) findViewById(R.id.in);
            gfxtr = (Button) findViewById(R.id.gfxtr);
            gfh = (Button) findViewById(R.id.gfh);

            AlertDialog.Builder alert = new AlertDialog.Builder(this);
            alert.setTitle("Введите новое количество");

            alert.setView(view);



            alert.setPositiveButton("ДА", new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int whichButton) {
                    String qq = input.getText().toString();


                }
            });


            alert.setNegativeButton("НЕТ", new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int whichButton) {

                }
            });
            alert.show();
        }

XML:

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

        <EditText
            android:id="@+id/input"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"></EditText>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:orientation="vertical">


            <Button
                android:id="@+id/in"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:gravity="center"
                android:onClick="in"
                android:scaleType="fitCenter"
                android:text="шт"></Button>

            <Button
                android:id="@+id/gfxtr"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:onClick="gfxtr"
                android:scaleType="fitCenter"
                android:text="пачек"></Button>

            <Button
                android:id="@+id/gfh"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:onClick="gfh"
                android:scaleType="fitCenter"
                android:text="пар"></Button>
        </LinearLayout>
    </LinearLayout>

我收到此错误:

java.lang.NullPointerException:尝试调用虚拟方法'null上的'android.text.Editable android.widget.EditText.getText()'对象参考

android nullpointerexception android-edittext
1个回答
1
投票

您不会在视图上调用findViewById。像这样尝试:

input = (EditText) view.findViewById(R.id.input);
© www.soinside.com 2019 - 2024. All rights reserved.