Steven Bühler
- Forum-Beiträge: 2
28.08.2013, 13:29:59 via Website
28.08.2013 13:29:59 via Website
Hallo liebe AndroidPIT-User!
Ich bin neu in der Android-Entwicklerwelt und habe ein Problem, bei dem ich auch nach langer Suche kein Erfolg habe.
Es geht um einen NumbPicker. Um genau zu sein, versuche ich einen NumbPicker aus diesem Tutorial so anzupassen, damit Decimalzahlen möglich sind.
Allerdings stürzt die App mit folgender Zeile ab:
So funktioniert es, leider wird die textViewMid nur als Ganzzahl ausgelesen:
Hier der ganze Code:
Ich wäre sehr sehr dankbar, wenn mir jemand helfen kann.
Freundliche Grüsse
Steven
Ich bin neu in der Android-Entwicklerwelt und habe ein Problem, bei dem ich auch nach langer Suche kein Erfolg habe.
Es geht um einen NumbPicker. Um genau zu sein, versuche ich einen NumbPicker aus diesem Tutorial so anzupassen, damit Decimalzahlen möglich sind.
1androidhub4you.com/2013/03/custom-picker-in-android-number-picker.html
Allerdings stürzt die App mit folgender Zeile ab:
1String getString = String.format("%.1f", textViewMid.getText());
So funktioniert es, leider wird die textViewMid nur als Ganzzahl ausgelesen:
1String getString = String.valueOf(textViewMid.getText());
Hier der ganze Code:
1package ch.test.numbpicker;
2
3import ch.test.numbpicker.R;
4import ch.test.numbpicker.NumbpickerActivity;
5
6import android.os.Bundle;
7import android.view.View;
8import android.view.View.OnClickListener;
9import android.widget.Button;
10import android.widget.TextView;
11import android.app.Activity;
12
13public class NumbpickerActivity extends Activity implements OnClickListener {
14 Button btnUp, btnDown;
15 TextView textViewUp, textViewMid, textViewBottom;
16
17 double nStart = 0.0;
18 double nEnd = 10.0;
19
20 @Override
21 public void onCreate(Bundle savedInstanceState)
22 {
23 super.onCreate(savedInstanceState);
24 setContentView(R.layout.activity_numbpicker);
25 btnUp = (Button) findViewById(R.id.button1);
26 btnDown = (Button) findViewById(R.id.button2);
27
28 textViewUp = (TextView) findViewById(R.id.textView1);
29 textViewMid = (TextView) findViewById(R.id.textView2);
30 textViewBottom = (TextView) findViewById(R.id.textView3);
31
32 textViewUp.setText("0.1");
33 textViewMid.setText("0.0");
34 textViewBottom.setText("");
35
36 btnUp.setOnClickListener(this);
37 btnDown.setOnClickListener(this);
38 }
39
40 @Override
41 public void onClick(View v)
42 {
43// So funktionierts, allerdings nur Ganzzahl
44 String getString = String.valueOf(textViewMid.getText());
45 Double curent = Double.parseDouble(getString);
46
47 // So funktionierts leider nicht, App stürzt ab!
48 // String getString = String.format("%.1f", textViewMid.getText());
49 // Double curent = Double.parseDouble(getString);
50
51 if (v == btnUp)
52 {
53 if (curent < nEnd)
54 {
55 curent++;
56 String OutputStringUP = String.format("%.1f", (curent) + 0.1);
57 textViewUp.setText(OutputStringUP);
58 String OutputStringCURRENT = String.format("%.1f", (curent));
59 textViewMid.setText(OutputStringCURRENT);
60 String OutputStringDOWN = String.format("%.1f", (curent) - 0.1);
61 textViewBottom.setText(OutputStringDOWN);
62 }
63 }
64
65 if (v == btnDown)
66 {
67 if (curent > nStart)
68 {
69 curent--;
70 String OutputStringUP = String.format("%.1f", (curent) + 0.1);
71 textViewUp.setText(OutputStringUP);
72 String OutputStringCURRENT = String.format("%.1f", (curent));
73 textViewMid.setText(OutputStringCURRENT);
74 String OutputStringDOWN = String.format("%.1f", (curent) - 0.1);
75 textViewBottom.setText(OutputStringDOWN);
76 }
77 }
78 }
79}
2
3import ch.test.numbpicker.R;
4import ch.test.numbpicker.NumbpickerActivity;
5
6import android.os.Bundle;
7import android.view.View;
8import android.view.View.OnClickListener;
9import android.widget.Button;
10import android.widget.TextView;
11import android.app.Activity;
12
13public class NumbpickerActivity extends Activity implements OnClickListener {
14 Button btnUp, btnDown;
15 TextView textViewUp, textViewMid, textViewBottom;
16
17 double nStart = 0.0;
18 double nEnd = 10.0;
19
20 @Override
21 public void onCreate(Bundle savedInstanceState)
22 {
23 super.onCreate(savedInstanceState);
24 setContentView(R.layout.activity_numbpicker);
25 btnUp = (Button) findViewById(R.id.button1);
26 btnDown = (Button) findViewById(R.id.button2);
27
28 textViewUp = (TextView) findViewById(R.id.textView1);
29 textViewMid = (TextView) findViewById(R.id.textView2);
30 textViewBottom = (TextView) findViewById(R.id.textView3);
31
32 textViewUp.setText("0.1");
33 textViewMid.setText("0.0");
34 textViewBottom.setText("");
35
36 btnUp.setOnClickListener(this);
37 btnDown.setOnClickListener(this);
38 }
39
40 @Override
41 public void onClick(View v)
42 {
43// So funktionierts, allerdings nur Ganzzahl
44 String getString = String.valueOf(textViewMid.getText());
45 Double curent = Double.parseDouble(getString);
46
47 // So funktionierts leider nicht, App stürzt ab!
48 // String getString = String.format("%.1f", textViewMid.getText());
49 // Double curent = Double.parseDouble(getString);
50
51 if (v == btnUp)
52 {
53 if (curent < nEnd)
54 {
55 curent++;
56 String OutputStringUP = String.format("%.1f", (curent) + 0.1);
57 textViewUp.setText(OutputStringUP);
58 String OutputStringCURRENT = String.format("%.1f", (curent));
59 textViewMid.setText(OutputStringCURRENT);
60 String OutputStringDOWN = String.format("%.1f", (curent) - 0.1);
61 textViewBottom.setText(OutputStringDOWN);
62 }
63 }
64
65 if (v == btnDown)
66 {
67 if (curent > nStart)
68 {
69 curent--;
70 String OutputStringUP = String.format("%.1f", (curent) + 0.1);
71 textViewUp.setText(OutputStringUP);
72 String OutputStringCURRENT = String.format("%.1f", (curent));
73 textViewMid.setText(OutputStringCURRENT);
74 String OutputStringDOWN = String.format("%.1f", (curent) - 0.1);
75 textViewBottom.setText(OutputStringDOWN);
76 }
77 }
78 }
79}
Ich wäre sehr sehr dankbar, wenn mir jemand helfen kann.
Freundliche Grüsse
Steven
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.