사용자가 원하는 여러 번 단추의 텍스트를 변경하길 원합니다. 그렇게하기 위해, 그는 그 버튼에서 긴 클릭을한다. 이것은 코드입니다.경고 상자에 텍스트 입력
@Override
public void onCreate(Bundle savedInstanceState) {
//blah blah
final AlertDialog.Builder alert = new AlertDialog.Builder(this);
alert.setMessage("Nueva Categoria:");
// Seting an EditText view to get user input
final EditText input = new EditText(this);
alert.setView(input);
alert.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
Button esteBoton = (Button) findViewById(R.id.button1);
String newCateg = input.getText().toString();
esteBoton.setText(newCateg);
}
});
Button button = (Button) findViewById(R.id.button1);
button.setOnLongClickListener(new View.OnLongClickListener() {
public boolean onLongClick(View v) {
alert.show();
return true;
}
});
}
Ok. Eclipse의 디바이스 시뮬레이터에서이 코드를 실행할 때, 경고 대화 상자에서 버튼 1의 텍스트를 처음 입력하는 경우 아무런 문제가 없지만 두 번째 코드를 입력하려고하면 응용 프로그램이 충돌합니다. 자바의 전문가는 아니지만 이것이 "입력"에 대한 "최종"속성에 의한 것이라고 생각합니다. 한번 결정한 후에는 그 값을 변경할 수 없습니다. 어떻게 해결할 수 있습니까? 코드는 간단하고 그렇게 유지하고 싶습니다.
@Grishu 코드는 비슷합니다. 감사합니다. 귀하의 제안을 시도하면 이클립스 런타임에 E/AndroidRuntime (531) : 치명적인 예외 : 주 java.lang.NullPointerException com.android.internal.app.AlertController $ AlertParams에서 밖으로 spat. (AlertController.java : 742) android.app.AlertDialog $ Builder. (AlertDialog.java:273) com.stufflist.ListStuff $ 1.onLongClick (ListStuff.java:82) at android.view.View.PolformLongClick (View.java:2503) at android.widget.TextView.performLongClick (TextView.java:7640) android.view.View $ CheckForLongPress.run (View.java:9056) –
JoeCoolman
android.os.Handler.handleCallback (Handler.java:587) android.os.Handler.dispatchMessage (Handler.java:92) android.os.Looper.loop (Looper.java:123) at android.app.ActivityThread.main (ActivityThread.java:3683) at java.lang.reflect.Method.invokeNative (네이티브 메소드) java.lang.reflect.Method.invoke (Method.java:507) at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java : 839) at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:597) at dalvik.system.NativeStart.main (기본 메소드) – JoeCoolman
죄송합니다. 귀하의 제안은 완벽하게 좋습니다. 나는 내 실수로 실수 한 적이있다. 모든 것이 바로 지금입니다! 감사. – JoeCoolman