Jetzt kostenlos registrieren. Mitglieder surfen ohne Werbung auf Android-Hilfe.de!
Zurück   Android-Hilfe.de > Android Developer > Android App Entwicklung

Spinner mit Zahlen

Das Thema "Spinner mit Zahlen" befindet sich unter Android App Entwicklung auf Android-Hilfe.de.


Antwort

 

Themen-Optionen Ansicht
Alt 09.06.2009, 16:21   #1 (permalink)
Android-Hilfe.de Mitglied

Modell: Samsung Galaxy I7500

Registriert seit: 26.05.2009
Beiträge: 127
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
Standard Spinner mit Zahlen

Hallo, gibt es eine UI-Komponente die ähnlich wie ein DatePicker oder Timepicker aussieht nur mit einer beliebigen Zahl drin und dann ein Plus oder Minus zum rauf und runter drücken? Also einen Spinner meine ich. Hier bei Android is Spinner ja ne ComboBox.
joschika77 ist offline   Mit Zitat antworten
Alt 11.06.2009, 11:18   #2 (permalink)
Neuer Benutzer

Registriert seit: 11.06.2009
Beiträge: 12
Abgegebene Danke: 0
Erhielt 1 Danke für 1 Beitrag
Standard AW: Spinner mit Zahlen

Man kann die Grundkomponente (NumberPicker) aus der der DatePicker besteht aus den Android Quellen extrahieren und selbst benutzen.. (Sind internal, können also nicht ohne weiteres einfach benutzt werden) Is ne ganz nette Sache, benutze ich auch.
Es gibt ferige Projekte in denen du nur noch die Sourcen ziehen musst. (z.B. NumberPicker für Android Mobile Solutions Blog)

Greets
viden ist offline   Mit Zitat antworten
Alt 12.06.2009, 11:37   #3 (permalink)
Android-Hilfe.de Mitglied

Modell: Samsung Galaxy I7500

Registriert seit: 26.05.2009
Beiträge: 127
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
Standard AW: Spinner mit Zahlen

Thx a lot...das sieht schon mal gut aus. Hab das auch soweit integriet in meiner Anwendung. Weiß nur nicht wie ich das Teil aufrufen kann, z.B. beim Buttonklick. Habe folgendes versucht:

Code:
        myButton = (Button)findViewById(R.id.SwitchBtn);
        myButton.setOnClickListener(new OnClickListener()
        {
            public void onClick(View v) 
            { 
                NumberPicker test = new NumberPicker(main.this);
            }
        });
Da bekommt er eine Exception.
joschika77 ist offline   Mit Zitat antworten
Alt 12.06.2009, 11:54   #4 (permalink)
Neuer Benutzer

Registriert seit: 11.06.2009
Beiträge: 12
Abgegebene Danke: 0
Erhielt 1 Danke für 1 Beitrag
Standard AW: Spinner mit Zahlen

in XML habe ich ihn einfach so integriert:

Code:
<TableRow>
        <ch.android.ebd.NumberPicker 
            android:id="@+id/Multistate"
            android:gravity="center"
            />                    
    </TableRow>
das funktioniert super


das Ganze ist bei mir in einem Dialog drinne...

Dafür machst du in Layouts einfach eine neue XML file, zB NumberpickerDialog.xml

dann machst du dir ein deiner Activity einen Dialog und weist ihm deine numberpicker_dialog.xml als Layout zu.

Code:
Dialog numPickDialog = new Dialog(this);
numPickDialog.setContentView(R.layout.numberpicker_dialog);
numPickDialog.setTitle("My Numberpicker Dialog");

Button dialogBtn = (Button) findViewById(R.id.DialogButton);
dialogBtn.setOnClickListener(new DialogButtonOpenListener(numPickDialog));

protected class DialogButtonOpenListener implements OnClickListener {

        Dialog dialog;

        public DialogButtonOpenListener(Dialog dialog) {
            this.dialog = dialog;
        }

        public void onClick(View v) {
            dialog.show();
        }
    }
Dann legst du wie du es gemacht hast einen Listener auf deinen Butten mit dem du den Numberpicker anzeigen willst und machst dialog.show() in der methode.
Damit wird der Dialog mit dem Numberpicker angezeigt.. am besten du platzierst noch einen "ok" Butten unter dem Numberpicker, der den Dialog dann wider schliesst...

Greets

Geändert von viden (12.06.2009 um 12:02 Uhr)
viden ist offline   Mit Zitat antworten
Alt 12.06.2009, 12:08   #5 (permalink)
Android-Hilfe.de Mitglied

Modell: Samsung Galaxy I7500

Registriert seit: 26.05.2009
Beiträge: 127
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
Standard AW: Spinner mit Zahlen

Hmmm muß doch aus dem laufenden Programm auch gehen oder? Also ich habe mir vorgestellt wenn ich den Button drücke popt halt der NumberPicker auf, mach meine Einstellungen und schliesse den wieder.
joschika77 ist offline   Mit Zitat antworten
Alt 12.06.2009, 12:09   #6 (permalink)
Android-Hilfe.de Mitglied

Modell: Samsung Galaxy I7500

Registriert seit: 26.05.2009
Beiträge: 127
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
Standard AW: Spinner mit Zahlen

Ok hast noch was zugeschrieben.
joschika77 ist offline   Mit Zitat antworten
Alt 12.06.2009, 12:45   #7 (permalink)
Android-Hilfe.de Mitglied

Modell: Samsung Galaxy I7500

Registriert seit: 26.05.2009
Beiträge: 127
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
Standard AW: Spinner mit Zahlen

Ich krieg das nicht hin. Wie muß denn die Dialog xml aussehen? in den sourcen lagen zwei xmls bei. number_picker.xml und number_picker_edit.xml

number_picker.xml:
Code:
<?xml version="1.0" encoding="utf-8"?>
    <!--
        ** ** Copyright 2008, The Android Open Source Project ** ** Licensed
        under the Apache License, Version 2.0 (the "License"); ** you may not
        use this file except in compliance with the License. ** You may obtain
        a copy of the License at ** **
        http://www.apache.org/licenses/LICENSE-2.0 ** ** Unless required by
        applicable law or agreed to in writing, software ** distributed under
        the License is distributed on an "AS IS" BASIS, ** WITHOUT WARRANTIES
        OR CONDITIONS OF ANY KIND, either express or implied. ** See the
        License for the specific language governing permissions and **
        limitations under the License. */
    -->

<merge xmlns:android="http://schemas.android.com/apk/res/android">

    <eu.kroczek.NumberPickerButton android:id="@+id/increment"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:background="@drawable/timepicker_up_normal"
        />
    <EditText android:id="@+id/timepicker_input"
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content"
        android:gravity="center" 
        android:singleLine="true"
        style="?android:attr/textAppearanceLargeInverse" 
        android:textSize="30sp"
        android:background="@drawable/timepicker_input_normal" />

    <eu.kroczek.NumberPickerButton
        android:id="@+id/decrement" 
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" 
        android:background="@drawable/timepicker_down_normal" />

</merge>

number_picker_edit.xml:
Code:
<?xml version="1.0" encoding="utf-8"?>
<!--
**
** Copyright 2008, The Android Open Source Project
**
** Licensed under the Apache License, Version 2.0 (the "License");
** you may not use this file except in compliance with the License.
** You may obtain a copy of the License at
**
**     http://www.apache.org/licenses/LICENSE-2.0
**
** Unless required by applicable law or agreed to in writing, software
** distributed under the License is distributed on an "AS IS" BASIS,
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
** See the License for the specific language governing permissions and
** limitations under the License.
*/
-->

<EditText xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:gravity="center_horizontal"
    android:singleLine="true"
    style="?android:attr/textAppearanceLargeInverse"
    android:textSize="30sp"
    android:background="@drawable/timepicker_input_normal"
    />
joschika77 ist offline   Mit Zitat antworten
Alt 12.06.2009, 13:14   #8 (permalink)
Android-Hilfe.de Mitglied

Modell: Samsung Galaxy I7500

Registriert seit: 26.05.2009
Beiträge: 127
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
Standard AW: Spinner mit Zahlen

Das
Code:
numPickDialog.setContentView(R.layout.number_picker);
schmiert ab. Warum?
joschika77 ist offline   Mit Zitat antworten
Alt 12.06.2009, 13:45   #9 (permalink)
Neuer Benutzer

Registriert seit: 11.06.2009
Beiträge: 12
Abgegebene Danke: 0
Erhielt 1 Danke für 1 Beitrag
Standard AW: Spinner mit Zahlen

Also....

Du machst folgendes:

1. Kopiere NumberPicker.java & NumberPickerButton.java in dein Main package wo alle deine Java Dateien liegen.

2. Kopiere alle timpepicker_* Dateien (14 PNGs & 3xmls) in deinen res/drawable/ ordner

3. Kopiere number_picker.xml & number_picker_edit.xml in deinen res/layout/ ordner

4. lege eine neue xml datei in res/layout/ an und füge dort z.B. da hier ein
Code:
 <?xml version="1.0" encoding="utf-8"?>
<TableLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:stretchColumns="*">
      <TableRow>
        <dein.pfad.NumberPicker 
            android:id="@+id/NumberPicker"
            android:gravity="center"
            />                    
    </TableRow>
    <TableRow>
        <Button 
        android:id="@+id/DialogBtn" 
        android:layout_height="wrap_content" 
        android:layout_width="wrap_content"
        android:text="ok" 
        android:gravity="center_horizontal|center_vertical"
        />
    </TableRow>
</TableLayout>
5. Den Listener usw. machst du wie vorher beschrieben

Greets

David
viden ist offline   Mit Zitat antworten
Alt 12.06.2009, 14:14   #10 (permalink)
Android-Hilfe.de Mitglied

Modell: Samsung Galaxy I7500

Registriert seit: 26.05.2009
Beiträge: 127
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
Standard AW: Spinner mit Zahlen

Also Danke erstmal für deine Hilfsbereitschaft, aber wie is das gemeint mit "dein.pfad"? Ich weiß nicht was ich da angeben soll. Meine main.java liegt in package com.programmname & die anderen beiden auch. MfG
joschika77 ist offline   Mit Zitat antworten
Antwort

Stichworte
-

Themen-Optionen
Ansicht





Du liest gerade: "Spinner mit Zahlen" unter "Android App Entwicklung" auf Android-Hilfe.de.


Powered by vBulletin®
Copyright ©2000 - 2012, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
© Android-Hilfe.de 2012 - All rights reserved.