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

KeyListener Return

Das Thema "KeyListener Return" befindet sich unter Android App Entwicklung auf Android-Hilfe.de.


Antwort

 

Themen-Optionen Ansicht
Alt 28.12.2011, 08:22   #1 (permalink)
Neuer Benutzer

Registriert seit: 24.12.2011
Beiträge: 5
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
Standard KeyListener Return

Hallo zusammen,

ich bastel gerade an einer Activity, in die der User etwas eintragen soll. Der Text soll entweder mit
a) Button "weiterer Artikel"
b) Button "Fertig"
oder
c) SoftKey "Enter"
in einer ArrayList geschrieben werden und in einer anderen Activity als ListView ausgegegeben werden. Variante a) und b) klappen perfekt,
sobald ich aber "Enter" der Tastatur drücke, wird der Text in die ArrayList geschrieben und das ganze nochmal aufgerufen. Die DVM verhält sich so, als hätte ich doppelt geklickt.
Ich kann mit das Verhalten nicht erklären.

Code:
public void onCreate(Bundle savedInstanceState){
        super.onCreate(savedInstanceState);
        setContentView(R.layout.einkauf_zetttel_anlegen);
        
        complete=(AutoCompleteTextView)findViewById(R.id.complete);
        weiterer_Artikel=(Button)findViewById(R.id.weiterer_Artikel);
        fertig=(Button)findViewById(R.id.einkaufszettel_fertig);
        
        res=getResources();
        String [] bez=res.getStringArray(R.array.Artikel_Komplett);
        
        ArrayAdapter<String> ad=new ArrayAdapter<String>(this, android.R.layout.simple_dropdown_item_1line, bez );
        complete.setAdapter(ad);
        //complete.setInputType(0);        
        
        fertig.setClickable(true);
        fertig.setPressed(false);
        
        weiterer_Artikel.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                sammleEintrag();
                }
        });
        complete.setOnKeyListener(new View.OnKeyListener() {    
            public boolean onKey(View v, int keyCode, KeyEvent event) {
                if(event.getKeyCode()==66){
                    sammleEintrag();
                }
                
                return false;
            }
        });
        fertig.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                text=complete.getText().toString();
                Artikel.add(text);
                int a=Artikel.size();
                String []ar =new String[a];
                Artikel.toArray(ar);
                Toast.makeText(EinkaufzettelAnlegen.this, " Text: "+ar.length, Toast.LENGTH_LONG).show();
                
                Intent in=new Intent();
                in.setClass(EinkaufzettelAnlegen.this, Einkaufszettel_anzeigen.class);
                in.putExtra("array",ar);
                startActivity(in);
            }
        });
        
        
    }
    public void sammleEintrag(){
        text=complete.getText().toString();
        Artikel.add(text);
        Toast.makeText(EinkaufzettelAnlegen.this, "ID: "+i+" Text: "+text, Toast.LENGTH_LONG).show();
        i++;
        complete.setText(" ");
        InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
        imm.hideSoftInputFromWindow(complete.getWindowToken(), 0);
    }
    
}
Viktor R ist offline   Mit Zitat antworten
Alt 28.12.2011, 20:12   #2 (permalink)
Android Guru

Registriert seit: 09.05.2009
Beiträge: 2.389
Abgegebene Danke: 36
Erhielt 307 Danke für 289 Beiträge
Standard AW: KeyListener Return

du musst auch noch den status abfragen.

event.getstatus == keyevent.keydown

oder sowas in der art.
__________________
App Entwicklung
Latest apps: Media Streamer BETA | DailyCash | MoneyManager ( PRO | HD )
swordi ist offline   Mit Zitat antworten
Alt 30.12.2011, 01:45   #3 (permalink)
Neuer Benutzer

Registriert seit: 24.12.2011
Beiträge: 5
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
Standard AW: KeyListener Return

Hallo sordi,

danke, das war mein Fehler gewesen. Der "Return" Button empfing immer zwei Aktionen
er wurde gedrückt
er wurde losgelassen

dadurch der doppelte Eintrag.

gruß

Viktor
Viktor R ist offline   Mit Zitat antworten
Antwort

Stichworte
keylistener, softkey

Themen-Optionen
Ansicht


Ähnliche Themen

Thema Autor Forum Antworten Letzter Beitrag
LG Mobile Pick up and Return 0211dus LG P990 Optimus Speed Forum 14 07.10.2011 13:14
[Kostenlos] Return Zero (BETA) Wingnut Android Spiele 2 28.03.2011 23:27
Tastaturkombination SHIFT plus RETURN? batab Samsung Galaxy Tab Forum 12 09.12.2010 11:01
Return Button Chris92 Android App Entwicklung 2 24.11.2010 18:17
KeyListener reagiert nur auf digits crafics Android App Entwicklung 1 20.07.2009 00:20




Du liest gerade: "KeyListener Return" 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.