NPE 在 android.text.Editable android.widget.EditText.getText()' 上空对象引用
NPE at android.text.Editable android.widget.EditText.getText()' on a null object reference
我在 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: Attempt to invoke virtual method
'android.text.Editable android.widget.EditText.getText()' on a null
object reference
您没有在视图上调用 findViewById。像这样尝试:
input = (EditText) view.findViewById(R.id.input);
我在 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: Attempt to invoke virtual method 'android.text.Editable android.widget.EditText.getText()' on a null object reference
您没有在视图上调用 findViewById。像这样尝试:
input = (EditText) view.findViewById(R.id.input);