Canvas - User Text Input bekommen

  • Antworten:2
  • OffenNicht stickyNicht beantwortet

14.03.2012 18:27:14 via Website

Hi Leute,

ich habe naütrlich schon recherchiert, doch die Wege die ich gefunden habe funktionieren nicht. Bzw bei dem einem machen ich evtl was falsch, da gesagt wird (vom Compiler) diese Lösung könne man nicht in einem Thread benutzen. Die eine Lösung war via DialogBox:
1AlertDialog.Builder alert = new AlertDialog.Builder(this);
2
3alert.setTitle("Title");
4alert.setMessage("Message");
5
6// Set an EditText view to get user input
7final EditText input = new EditText(this);
8alert.setView(input);
9
10alert.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
11public void onClick(DialogInterface dialog, int whichButton) {
12 String value = input.getText();
13 // Do something with value!
14 }
15});
16
17alert.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
18 public void onClick(DialogInterface dialog, int whichButton) {
19 // Canceled.
20 }
21});
22
23alert.show();
24// see http://androidsnippets.com/prompt-user-input-with-an-alertdialog

und die andere

1AbsoluteLayout.LayoutParams layoutParams =
2 new AbsoluteLayout.LayoutParams(WRAP_CONTENT, WRAP_CONTENT, x, y);
3absoluteLayout.addView(editText, layoutParams);

Welche ich aber nicht mal wirklich in mein Programm schreiben kann ohne das AbsoluteLayout durchgestrichen wird!?

Ich möchte "nur" ein Textinput vom User bekommen (über die software Tastatur). Da ich Canvas und kein Layout benutze brauch ich eine layoutunabhängige Lösung. Falls es jemanden was sagt, ich benutze ein leicht modifizierte Fassung des GameFrameWorks von dem Buch Android Beginning Game Programming. Wenn jemand das komplette Projekt benötigt (nur 3 Tage online): http://www.file-upload.net/download-4187030/Zettl.rar.html

mfG

14.03.2012 23:06:49 via Website

AbsoluteLayout ist veraltet (deprecated) und sollte nicht mehr verwendet werden - benutz stattdessen RelativeLayout

In Deinem Fall einfach ein Dialog machen - der muss allerdings vom UI Thread aufgerufen werden .. ich mach das immer mit Callbacks, gibt aber sicher besser/einfachere Wege denke ich mal

— geändert am 14.03.2012 23:08:25

15.03.2012 16:52:50 via Website

Also einfach ein Callback von meinem Screen zu meinem Thread der diesen Dialog erstellt und dann den eingegeben UserString einfach an meinen Screen senden?

mfG und vielen Dank =D