diff --git a/bindings/android-sdk/android_bindings_generator.lpi b/bindings/android-sdk/android_bindings_generator.lpi
index 662cd7815..4f87fae88 100644
--- a/bindings/android-sdk/android_bindings_generator.lpi
+++ b/bindings/android-sdk/android_bindings_generator.lpi
@@ -117,10 +117,11 @@
+
-
-
+
+
@@ -200,8 +201,8 @@
-
-
+
+
@@ -243,7 +244,6 @@
-
@@ -272,124 +272,124 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
-
+
+
-
-
+
+
-
-
+
+
-
+
-
+
-
-
+
+
-
+
-
-
+
+
-
-
+
+
-
+
-
-
+
+
-
+
-
+
-
+
-
-
+
+
-
+
-
+
-
+
-
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
diff --git a/bindings/android-sdk/android_sdk_bindings_gen.pas b/bindings/android-sdk/android_sdk_bindings_gen.pas
index a27112b25..0e63df58d 100644
--- a/bindings/android-sdk/android_sdk_bindings_gen.pas
+++ b/bindings/android-sdk/android_sdk_bindings_gen.pas
@@ -163,11 +163,15 @@ begin
ADest.Add(' public boolean ProcessCommand(int Buffer)');
ADest.Add(' {');
ADest.Add(' //DebugOut("AndroidUI.ProcessCommand Command=" + java.lang.Integer.toHexString(Buffer));');
+ ADest.Add(' //');
ADest.Add(' // basic types');
+ ADest.Add(' //');
ADest.Add(' int lInt, lIndex, lPascalPointer;');
ADest.Add(' boolean lBool;');
ADest.Add(' float lFloat;');
+ ADest.Add(' //');
ADest.Add(' // Self params');
+ ADest.Add(' //');
ADest.Add(' View param_self_View;');
ADest.Add(' ViewGroup param_self_ViewGroup;');
ADest.Add(' TextView param_self_TextView;');
@@ -181,7 +185,10 @@ begin
ADest.Add(' WindowManager param_self_WindowManager;');
ADest.Add(' AbsSpinner param_self_AbsSpinner;');
ADest.Add(' ArrayAdapter param_self_ArrayAdapter_String_;');
+ ADest.Add(' AdapterView param_self_AdapterView;');
+ ADest.Add(' //');
ADest.Add(' // Params');
+ ADest.Add(' //');
ADest.Add(' ViewGroup.LayoutParams lViewGroup_LayoutParams_1, lViewGroup_LayoutParams_2, lViewGroup_LayoutParams_3;');
ADest.Add(' SpinnerAdapter lSpinnerAdapter_1;');
ADest.Add(' DisplayMetrics lDisplayMetrics_1;');
@@ -191,7 +198,9 @@ begin
ADest.Add(' int lint_1, lint_2, lint_3, lint_4;');
ADest.Add(' float lfloat_1, lfloat_2;');
ADest.Add(' boolean lboolean_1;');
+ ADest.Add(' //');
ADest.Add(' // Results');
+ ADest.Add(' //');
ADest.Add(' float lResult_float;');
ADest.Add(' int lResult_int;');
ADest.Add(' boolean lResult_boolean;');
diff --git a/bindings/android-sdk/sdk_level_7/android_all.txt b/bindings/android-sdk/sdk_level_7/android_all.txt
index 7c46127a5..e46d01015 100644
--- a/bindings/android-sdk/sdk_level_7/android_all.txt
+++ b/bindings/android-sdk/sdk_level_7/android_all.txt
@@ -87,11 +87,9 @@ method CharSequence getText()
[EditText] TextView
constructor Create(Activity); override;
-method void setText(CharSequence AText); override;
[Button] TextView
constructor Create(Activity); override;
-method void setText(CharSequence AText); override;
[FrameLayout] ViewGroup
@@ -119,6 +117,7 @@ method void toggle()
constructor Create(Activity)
[AdapterView] ViewGroup
+method int getSelectedItemPosition()
[AbsSpinner] AdapterView
# SpinnerAdapter getAdapter()
@@ -129,8 +128,8 @@ method int getCount()
# int pointToPosition(int x, int y)
# void requestLayout()
method void setAdapter(SpinnerAdapter adapter)
-# void setSelection(int position, boolean animate)
-# void setSelection(int position)
+methodo void setSelection(int position, boolean animate); overload;
+method void setSelection(int position); overload;
[Spinner] AbsSpinner
constructor Create(Activity);
diff --git a/examples/androidlcl/android/src/com/pascal/androidlcl/AndroidAll.java b/examples/androidlcl/android/src/com/pascal/androidlcl/AndroidAll.java
index ab5e96454..d413e23d9 100644
--- a/examples/androidlcl/android/src/com/pascal/androidlcl/AndroidAll.java
+++ b/examples/androidlcl/android/src/com/pascal/androidlcl/AndroidAll.java
@@ -77,10 +77,8 @@ public class AndroidAll
static final int amkUI_TTextView_getText_6 = 0x0010B006;
// EditText
static final int amkUI_TEditText_Create_0 = 0x0010C000;
- static final int amkUI_TEditText_setText_1 = 0x0010C001;
// Button
static final int amkUI_TButton_Create_0 = 0x0010D000;
- static final int amkUI_TButton_setText_1 = 0x0010D001;
// FrameLayout
// TimePicker
static final int amkUI_TTimePicker_Create_0 = 0x0010F000;
@@ -100,9 +98,11 @@ public class AndroidAll
// CheckBox
static final int amkUI_TCheckBox_Create_0 = 0x00112000;
// AdapterView
+ static final int amkUI_TAdapterView_getSelectedItemPosition_0 = 0x00113000;
// AbsSpinner
static final int amkUI_TAbsSpinner_getCount_0 = 0x00114000;
static final int amkUI_TAbsSpinner_setAdapter_1 = 0x00114001;
+ static final int amkUI_TAbsSpinner_setSelection_2 = 0x00114002;
// Spinner
static final int amkUI_TSpinner_Create_0 = 0x00115000;
// Filterable
@@ -121,11 +121,15 @@ public class AndroidAll
public boolean ProcessCommand(int Buffer)
{
//DebugOut("AndroidUI.ProcessCommand Command=" + java.lang.Integer.toHexString(Buffer));
+ //
// basic types
+ //
int lInt, lIndex, lPascalPointer;
boolean lBool;
float lFloat;
+ //
// Self params
+ //
View param_self_View;
ViewGroup param_self_ViewGroup;
TextView param_self_TextView;
@@ -139,7 +143,10 @@ public class AndroidAll
WindowManager param_self_WindowManager;
AbsSpinner param_self_AbsSpinner;
ArrayAdapter param_self_ArrayAdapter_String_;
+ AdapterView param_self_AdapterView;
+ //
// Params
+ //
ViewGroup.LayoutParams lViewGroup_LayoutParams_1, lViewGroup_LayoutParams_2, lViewGroup_LayoutParams_3;
SpinnerAdapter lSpinnerAdapter_1;
DisplayMetrics lDisplayMetrics_1;
@@ -149,7 +156,9 @@ public class AndroidAll
int lint_1, lint_2, lint_3, lint_4;
float lfloat_1, lfloat_2;
boolean lboolean_1;
+ //
// Results
+ //
float lResult_float;
int lResult_int;
boolean lResult_boolean;
@@ -501,37 +510,11 @@ public class AndroidAll
ViewElements.add(new EditText(activity));
MyAndroidPipesComm.SendIntResult(ViewElements.size() - 1);
break;
- // method void setText(CharSequence AText); override;
- case amkUI_TEditText_setText_1:
- DebugOut("amkUI_TEditText_setText_1");
- // Self
- lInt = MyAndroidPipesComm.GetInt();
- param_self_EditText = (EditText) ViewElements.get(lInt);
- // params
- lInt = MyAndroidPipesComm.GetInt();
- lCharSequence_1 = (CharSequence) MyJavaLang.LangElements.get(lInt);
- //
- param_self_EditText.setText(lCharSequence_1);
- MyAndroidPipesComm.SendResult();
- break;
case amkUI_TButton_Create_0:
DebugOut("amkUI_TButton_Create_0");
ViewElements.add(new Button(activity));
MyAndroidPipesComm.SendIntResult(ViewElements.size() - 1);
break;
- // method void setText(CharSequence AText); override;
- case amkUI_TButton_setText_1:
- DebugOut("amkUI_TButton_setText_1");
- // Self
- lInt = MyAndroidPipesComm.GetInt();
- param_self_Button = (Button) ViewElements.get(lInt);
- // params
- lInt = MyAndroidPipesComm.GetInt();
- lCharSequence_1 = (CharSequence) MyJavaLang.LangElements.get(lInt);
- //
- param_self_Button.setText(lCharSequence_1);
- MyAndroidPipesComm.SendResult();
- break;
case amkUI_TTimePicker_Create_0:
DebugOut("amkUI_TTimePicker_Create_0");
ViewElements.add(new TimePicker(activity));
@@ -665,6 +648,17 @@ public class AndroidAll
ViewElements.add(new CheckBox(activity));
MyAndroidPipesComm.SendIntResult(ViewElements.size() - 1);
break;
+ // method int getSelectedItemPosition()
+ case amkUI_TAdapterView_getSelectedItemPosition_0:
+ DebugOut("amkUI_TAdapterView_getSelectedItemPosition_0");
+ // Self
+ lInt = MyAndroidPipesComm.GetInt();
+ param_self_AdapterView = (AdapterView) ViewElements.get(lInt);
+ // params
+ //
+ lResult_int = param_self_AdapterView.getSelectedItemPosition();
+ MyAndroidPipesComm.SendIntResult(lResult_int);
+ break;
// method int getCount()
case amkUI_TAbsSpinner_getCount_0:
DebugOut("amkUI_TAbsSpinner_getCount_0");
@@ -689,6 +683,19 @@ public class AndroidAll
param_self_AbsSpinner.setAdapter(lSpinnerAdapter_1);
MyAndroidPipesComm.SendResult();
break;
+ // method void setSelection(int position); overload;
+ case amkUI_TAbsSpinner_setSelection_2:
+ DebugOut("amkUI_TAbsSpinner_setSelection_2");
+ // Self
+ lInt = MyAndroidPipesComm.GetInt();
+ param_self_AbsSpinner = (AbsSpinner) ViewElements.get(lInt);
+ // params
+ lInt = MyAndroidPipesComm.GetInt();
+ lint_1 = lInt;
+ //
+ param_self_AbsSpinner.setSelection(lint_1);
+ MyAndroidPipesComm.SendResult();
+ break;
case amkUI_TSpinner_Create_0:
DebugOut("amkUI_TSpinner_Create_0");
ViewElements.add(new Spinner(activity));
diff --git a/examples/androidlcl/mainform.lfm b/examples/androidlcl/mainform.lfm
index 7604fb422..a06e80bea 100644
--- a/examples/androidlcl/mainform.lfm
+++ b/examples/androidlcl/mainform.lfm
@@ -62,4 +62,13 @@ object Form2: TForm2
TabOrder = 5
Text = 'Edit2'
end
+ object Button2: TButton
+ Left = 35
+ Height = 25
+ Top = 186
+ Width = 75
+ Caption = 'InputBox'
+ OnClick = Button2Click
+ TabOrder = 6
+ end
end
diff --git a/examples/androidlcl/mainform.pas b/examples/androidlcl/mainform.pas
index b0d531d24..effd3c292 100644
--- a/examples/androidlcl/mainform.pas
+++ b/examples/androidlcl/mainform.pas
@@ -14,12 +14,14 @@ type
TForm2 = class(TForm)
Button1: TButton;
+ Button2: TButton;
CheckBox1: TCheckBox;
ComboBox1: TComboBox;
Edit1: TEdit;
Edit2: TEdit;
StaticText1: TStaticText;
procedure Button1Click(Sender: TObject);
+ procedure Button2Click(Sender: TObject);
private
{ private declarations }
public
@@ -45,13 +47,19 @@ begin
if CheckBox1.Checked then lChecked := 'True'
else lChecked := 'False';
+ {$ifdef LCLAndroid}
vAndroidPipesComm.Log('3');
+ {$endif}
lEdit1Text := Edit1.Text;
+ {$ifdef LCLAndroid}
vAndroidPipesComm.Log('4');
+ {$endif}
lComboBox := IntToStr(ComboBox1.ItemIndex);
+ {$ifdef LCLAndroid}
vAndroidPipesComm.Log('5');
+ {$endif}
Edit2.Text :=
'Edit1.Text='+lEdit1Text+LineEnding+
@@ -62,6 +70,11 @@ begin
Caption := lEdit1Text;
end;
+procedure TForm2.Button2Click(Sender: TObject);
+begin
+ InputBox('Caption', 'Prompt', 'Default');
+end;
+
initialization
{$I mainform.lrs}