Android 应用程序崩溃,对象引用为空
我使用的是一个片段,编译器不会抛出错误。 但当我按下我为其创建侦听器的指定按钮时,应用程序崩溃了!logcat将Android 应用程序崩溃,对象引用为空,android,android-fragments,android-edittext,Android,Android Fragments,Android Edittext,我使用的是一个片段,编译器不会抛出错误。 但当我按下我为其创建侦听器的指定按钮时,应用程序崩溃了!logcat将空对象引用引用到代码的这一部分 private ImageView i; private String key = null; private ArrayList<String> lst = new ArrayList(); private OnClickListener lstn = new OnClickListener() {
空对象引用
引用到代码的这一部分
private ImageView i;
private String key = null;
private ArrayList<String> lst = new ArrayList();
private OnClickListener lstn = new OnClickListener() {
public void onClick(View v)
{
EditText et1 = (EditText) v.findViewById(R.id.editText1);
profilname = et1.getText().toString();
new getPbLink().execute(new String[]{profilname});
}
};
private OnClickListener lstn1 = new OnClickListener() {
public void onClick(View v)
{
if (pb == null)
{
Toast.makeText(getActivity(),"nodp", 0)
.show();
} else
{
SaveImage(pb);
Toast.makeText(getActivity(), "saved", 0)
.show();
}
}
};
在“onClick”事件中,传递的视图是您单击的视图。因此,如果您单击一个按钮,您将找不到任何EditText,因为此处不存在它
您需要在包含函数的视图上调用函数“findViewById”,而不是在方法onClick传递的视图上。发布日志,以便我们可以看到它引用的特定视图为null。您似乎正在使用相同的id:R.id.editText1扩大EditText和AutoCompleteTextView。同时检查id:R.id.editText1,如果它是correct@ShahbazAhmed我已尝试删除Autocomplete Textview,但它仍会在editText上抛出空对象引用。getText()请发布布局文件。似乎没有id为R.id.editText1的视图,而不是调用v.findViewById(R.id.editText1),可能是您应该使用view.findViewById(R.id.editText1)调用。这里的视图是xml布局中的膨胀视图。
Process: com.nav.drawer, PID: 21833
12-22 20:43:14.696 21833 21833 E AndroidRuntime java.lang.NullPointerException: Attempt to invoke virtual method 'android.text.Editable android.widget.EditText.getText()' on a null object reference
12-22 20:43:14.696 21833 21833 E AndroidRuntime at com.nav.drawer.HomeFragment$100000001.onClick(HomeFragment.java:61)
12-22 20:43:14.696 21833 21833 E AndroidRuntime at android.view.View.performClick(View.java:4785)
12-22 20:43:14.696 21833 21833 E AndroidRuntime at android.view.View$PerformClick.run(View.java:19884)
12-22 20:43:14.696 21833 21833 E AndroidRuntime at android.os.Handler.handleCallback(Handler.java:739)
12-22 20:43:14.696 21833 21833 E AndroidRuntime at android.os.Handler.dispatchMessage(Handler.java:95)
12-22 20:43:14.696 21833 21833 E AndroidRuntime at android.os.Looper.loop(Looper.java:135)
12-22 20:43:14.696 21833 21833 E AndroidRuntime at android.app.ActivityThread.main(ActivityThread.java:5343)
12-22 20:43:14.696 21833 21833 E AndroidRuntime at java.lang.reflect.Method.invoke(Native Method)
12-22 20:43:14.696 21833 21833 E AndroidRuntime at java.lang.reflect.Method.invoke(Method.java:372)