- Forum-Beiträge: 7
06.03.2014, 17:26:07 via Website
06.03.2014 17:26:07 via Website
das ist mein erster Post hier. Ich bin eigentlich iOS Entwickler und entwickle eigentlich Apps für iPad, iPhone, iPod Touch. Nun möchte ich für meine Projekt, welches ich bald präsentiere einen Android Click Dummy erstellen. Ich habe mir gedacht, kann ja nicht so schwer sein und mir einfach mehrere Bücher zum Thema genommen und gelesen. Hätte nicht gedacht, dass der Unterschied so krass ist! Ich finde es unter Android umständlicher irgendwie zu programmieren aber das ist Gewöhnungssache und ich möchte hier keinen Glaubenskrieg entfachen. Ich hatte gestern von einer bekannten zum ersten mal ein Android Tablet (Samsung Galaxy Tab 3) in der Hand und habe mit viel Mühe und Not meine App drauf installiert. Nun zu meinen Fragen:
- Ist es normal, dass man die Tastatur nur mit den Zurück-Button ausblenden kann?
- Ich habe in der App mir 4 Tabs eingebaut. Wenn ich jetzt im ersten Tab bin und da im Textfeld die Tastatur aufrufe und dann den Tab Wechsel ist die Tastatur immer noch da. Geht die irgendwie weg? Gibt es da Delegate-Methoden oder Notifications?
- Immer wenn ich das Gerät drehe, sind die Tabellenzellen (ich vermisse meine Delegate-Methoden!) die ich mit Mühe und Not hinzugefügt habe weg. Ist das Standard oder liegt das an mir? Hier mein Code:1final EditText calculatorTextField = (EditText) findViewById(R.id.calculatorTextfield);
2 calculatorTextField.setOnKeyListener(new View.OnKeyListener() {
3 public boolean onKey(View v, int keyCode, KeyEvent event) {
4 // If the event is a key-down event on the "enter" button
5 if ((event.getAction() == KeyEvent.ACTION_DOWN) &&
6 (keyCode == KeyEvent.KEYCODE_ENTER)) {
7
8 DoubleEvaluator evaluator = new DoubleEvaluator();
9 Double result = evaluator.evaluate(calculatorTextField.getText().toString());
10
11 TableLayout tableView = (TableLayout) findViewById(R.id.tableView);
12
13 TableRow row = new TableRow(getBaseContext());
14
15 TextView calculation = new TextView(getBaseContext());
16 calculation.setTextSize(18);
17 calculation.setText(calculatorTextField.getText().toString());
18
19 TableRow.LayoutParams paramsLeft = new TableRow.LayoutParams(TableRow.LayoutParams.WRAP_CONTENT, TableRow.LayoutParams.WRAP_CONTENT, 1f);
20 paramsLeft.setMargins(20, 0, 0, 0);
21
22 calculation.setWidth(0);
23 calculation.setLayoutParams(paramsLeft);
24
25 TextView resultOfCalculation = new TextView(getBaseContext());
26 resultOfCalculation.setTextSize(18);
27 resultOfCalculation.setText(result.toString());
28
29 TableRow.LayoutParams paramsRight = new TableRow.LayoutParams(TableRow.LayoutParams.WRAP_CONTENT, TableRow.LayoutParams.WRAP_CONTENT, 1f);
30 paramsRight.setMargins(0, 0, 20, 0);
31
32 resultOfCalculation.setWidth(0);
33 resultOfCalculation.setLayoutParams(paramsRight);
34 resultOfCalculation.setGravity(Gravity.RIGHT);
35
36 row.addView(calculation);
37 row.addView(resultOfCalculation, paramsRight);
38 tableView.addView(row);
39
40 calculatorTextField.setText("");
41 return true;
42 }
43 return false;
44 }
45 });
Viele Grüße
Nils
— geändert am 06.03.2014, 17:28:19
Empfohlener redaktioneller Inhalt
Mit Deiner Zustimmung wird hier ein externer Inhalt geladen.
Mit Klick auf den oben stehenden Button erklärst Du Dich damit einverstanden, dass Dir externe Inhalte angezeigt werden dürfen. Dabei können personenbezogene Daten an Drittanbieter übermittelt werden. Mehr Infos dazu findest Du in unserer Datenschutzerklärung.