Что не так с этим кодом? Приложение остановлено.
public void names (View v) { AlertDialog.Builder alert = new AlertDialog.Builder(this); LayoutInflater inflater = getLayoutInflater(); alert.setView(inflater.inflate(R.layout.dialog_signin, null)); alert.setTitle("Set players names"); alert.setPositiveButton(R.string.ok, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { TextView j=(TextView)findViewById(R.id.textView2); TextView k=(TextView)findViewById(R.id.textView3); EditText l=(EditText)findViewById(R.id.player1); EditText m=(EditText)findViewById(R.id.player2); String name1 = l.getText().toString(); String name2 = m.getText().toString(); j.setText(name1); k.setText(name2); } }); AlertDialog dialog = alert.create(); dialog.show(); }
Логкат:
06-08 18:07:20.613: D/libEGL(20332): загружено /vendor/lib/egl/libEGL_adreno.so 06-08 18:07:20.613: D/libEGL(20332): загружено /vendor/lib/egl /libGLESv1_CM_adreno.so 06-08 18:07:20.623: D/libEGL(20332): загружено /vendor/lib/egl/libGLESv2_adreno.so 06-08 18:07:20.623: I/Adreno-EGL(20332): : EGL 1.4 QUALCOMM build: (CL4169980) 06-08 18:07:20.623: I/Adreno-EGL(20332): Версия компилятора шейдеров OpenGL ES: 17.01.10.SPL 06-08 18:07:20.623: I/Adreno- EGL(20332): Дата сборки: 01.12.13 Вс 06-08 18:07:20.623: I/Adreno-EGL(20332): Местное отделение: 06-08 18:07:20.623: I/Adreno-EGL( 20332): удаленная ветвь: 06-08 18:07:20.623: I/Adreno-EGL(20332): локальные исправления: 06-08 18:07:20.623: I/Adreno-EGL(20332): реконструировать ветвь: 06- 08 18:07:20.673: D/OpenGLRenderer(20332): включение режима отладки 0 06-08 18:07:26.448: D/AndroidRuntime(20332): завершение работы виртуальной машины 06-08 18:07:26.458: W/dalvikvm( 20332): threadid=1: поток завершается с необработанным исключением (группа=0x415898b0) 06-08 18:07:26.4 58: E/AndroidRuntime(20332): НЕИСПРАВНОЕ ИСКЛЮЧЕНИЕ: main 06-08 18:07:26.458: E/AndroidRuntime(20332): java.lang.NullPointerException 06-08 18:07:26.458: E/AndroidRuntime(20332): в com.example.game.MainActivity$1.onClick(MainActivity.java:87) 06-08 18:07:26.458: E/AndroidRuntime(20332): в com.android.internal.app.AlertController$ButtonHandler.handleMessage(AlertController .java:171) 06-08 18:07:26.458: E/AndroidRuntime(20332): в android.os.Handler.dispatchMessage(Handler.java:99) 06-08 18:07:26.458: E/AndroidRuntime(20332 ): в android.os.Looper.loop(Looper.java:213) 06-08 18:07:26.458: E/AndroidRuntime(20332): в android.app.ActivityThread.main(ActivityThread.java:5225) 06- 08 18:07:26.458: E/AndroidRuntime(20332): в java.lang.reflect.Method.invokeNative(собственный метод) 06-08 18:07:26.458: E/AndroidRuntime(20332): в java.lang.reflect .Method.invoke(Method.java:525) 06-08 18:07:26.458: E/AndroidRuntime(20332): в com.android.internal. os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:741) 06-08 18:07:26.458: E/AndroidRuntime(20332): в com.android.internal.os.ZygoteInit.main(ZygoteInit.java:557) 06 -08 18:07:26.458: E/AndroidRuntime(20332): в dalvik.system.NativeStart.main(собственный метод)
1. 06-08 18:15:27.578: D/AndroidRuntime(20809): Shutting down VM 06-08 18:15:27.578: W/dalvikvm(20809): threadid=1: thread exiting with uncaught exception (group=0x415898b0) 06-08 18:15:27.578: E/AndroidRuntime(20809): FATAL EXCEPTION: main 06-08 18:15:27.578: E/AndroidRuntime(20809): java.lang.NullPointerException 06-08 18:15:27.578: E/AndroidRuntime(20809): at com.example.game.MainActivity$1.onClick(MainActivity.java:92) 06-08 18:15:27.578: E/AndroidRuntime(20809): at com.android.internal.app.AlertController$ButtonHandler.handleMessage(AlertController.java:171) 06-08 18:15:27.578: E/AndroidRuntime(20809): at android.os.Handler.dispatchMessage(Handler.java:99) 06-08 18:15:27.578: E/AndroidRuntime(20809): at android.os.Looper.loop(Looper.java:213) 06-08 18:15:27.578: E/AndroidRuntime(20809): at android.app.ActivityThread.main(ActivityThread.java:5225) 06-08 18:15:27.578: E/AndroidRuntime(20809): at java.lang.reflect.Method.invokeNative(Native Method) 06-08 18:15:27.578: E/AndroidRuntime(20809): at java.lang.reflect.Method.invoke(Method.java:525) 06-08 18:15:27.578: E/AndroidRuntime(20809): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:741) 06-08 18:15:27.578: E/AndroidRuntime(20809): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:557) 06-08 18:15:27.578: E/AndroidRuntime(20809): at dalvik.system.NativeStart.main(Native Method) 06-08 18:15:29.079: I/Process(20809): Sending signal. PID: 20809 SIG: 9
Textview setText из EditText в диалоговом окне предупреждения
comment
Пожалуйста, опубликуйте трассировку ошибки logcat
- person daentech   schedule 08.06.2014
comment
+1, нам нужна трассировка ошибки logcat
- person JRad the Bad   schedule 08.06.2014
Ответы (1)
Вы должны получать NPE
при получении значений от EditText
Попробуйте следующее:
final View myLayout = inflater.inflate(R.layout.dialog_screen, null);
alert.setView(myLayout);
alert.setTitle("Set players names");
alert.setPositiveButton("OK", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
TextView j=(TextView)myLayout.findViewById(R.id.textView2);
TextView k=(TextView)myLayout.findViewById(R.id.textView3);
EditText l=(EditText)myLayout.findViewById(R.id.player1);
EditText m=(EditText)myLayout.findViewById(R.id.player2);
String name1 = l.getText().toString();
String name2 = m.getText().toString();
j.setText(name1);
k.setText(name2);
Log.i("j"+name1, "k"+name2);
}
});
person
Manishika
schedule
08.06.2014