Thank you all three,
now I did a mixture of your ideas: MyJava.java:
import android.app.AlertDialog;
import android.widget.EditText;
import android.content.DialogInterface;
class SystemAndroid {
public static AlertDialog.Builder alert;
public static EditText input;
public static String inputString = "";
public static Boolean _InputIsVisible=false;
static void showEditDialog(String value)
{
alert = new AlertDialog.Builder(BBAndroidGame._androidGame._activity);
input = new EditText(BBAndroidGame._androidGame._activity);
input.setText(value);
input.setSingleLine();
alert.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
inputString = input.getText().toString();
_InputIsVisible=false;
}
});
alert.setView(input);
_InputIsVisible=true;
alert.show();
}
static String getInputString()
{
return inputString;
}
static Boolean inputIsVisible() {
return _InputIsVisible;
}
}
monkey:
Strict
Import mojo
Import "MyJava.java"
Extern
Function ShowEditDialog:Void(value:String) = "SystemAndroid.showEditDialog"
Function GetInputString:String()="SystemAndroid.getInputString"
Function InputIsVisible:Bool()="SystemAndroid.inputIsVisible"
Public
Class Game Extends App
Field Input$="", WasVisible%=False
Method OnCreate%()
SetUpdateRate 10
Return 0
End
Method OnUpdate%()
If KeyHit(KEY_ESCAPE) OnBack()
If TouchHit(0)
ShowEditDialog Input
Endif
If WasVisible=True And InputIsVisible()=False
Input=GetInputString()
Elseif InputIsVisible()=True
WasVisible=True
Endif
Return 0
End
Method OnRender%()
Cls
Scale 2,2
DrawText "V 09 " + Millisecs(),0,30
DrawText "java!" + GetInputString() +"!",0,60
DrawText "monk!" + Input +"!",0,90
Return 0
End
Method OnBack%()
EndApp()
Return 0
End
End
Function Main%()
New Game
Return 0
End
*** EDIT *** With the line "input.setSingleLine();" you will get only one line of input and a RETURN on the keyboard will now already finish the input.
|