Luk en Activity når brugeren klikker alle steder på skærmen

Tags:    android activity listener onclick java

<< < 12 > >>
Hej Alle sammen

I mit android projekt har jeg lavet en Activity som nedarver fra klassen ListActivity. Selve min activity bruges til at vise noget simpelt tekst data i et ListView, men denne view har ikke nogen Button control, da jeg ikke ønsker dette, vil meget hellere have at brugeren skal kunne trykke/klikke en gang på skærmen (lige meget hvor) med sin finger, for at denne activity skal afslutte/lukke. Har prøvet at lave en onClickListener() event, for selve activityen, men denne er ikke at finde nogen steder for ListActivity, så hvordan får jeg lavet denne listener?

Jeg har allerede lavet en onListItemClick() event, men denne event kører kun når jeg klikker på et list item, og min activity kan være tom for information (Det er en highscore liste). Min kode ser således ud indtil nu - Undskyld rodet, men den er ikke færdigudviklet :)

Fold kodeboks ind/udJava kode 




Indlæg senest redigeret d. 20.03.2012 10:24 af Bruger #4487
12 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 8 karma
Sorter efter stemmer Sorter efter dato
Hej Martin,

Jeg vil se om jeg kan finde det frem igen :). Hvis jeg kan finde det, så indsætter jeg et eksempel på denne post i løbet af i aften :)



Okay, så har jeg siddet og roddet, lidt med det. Men det ville tage, lidt for meget tweaking af min egen kode, til at få den til at virke på den måde, du har behov for. Så derfor udførte jeg en lille test, og fandt, at hvis du benytter dig af et listView, så kan du tilføje en onClickListener til dit ListView, direkte. Og hvis du i din layout.xml får ListView til at matche sin container, som du jo gør i dit eksempel, så skulle man gerne opnå den funktionalitet, at man afslutter activiteten, ved et click på skærmen. Forskellen på denne fremgangsmåde, og den du viste i starte, er at din onListItemClick() metode, kun bliver kaldt når der klikkes på dine objekter. Hvorimod, at metoden bliver kaldt, når du klikker på containeren her.

Fold kodeboks ind/udJava kode 


Håber alligevel, at det kan hjælpe dig lidt fremad i dit projekt :)



Måske kan du gøre det med onKeyDown

Fold kodeboks ind/udJava kode 






Indlæg senest redigeret d. 20.03.2012 10:24 af Bruger #16797
Måske kan du gøre det med onKeyDown

Fold kodeboks ind/udJava kode 


Mhh nej desværre... Den listener virker næsten ligesom min onKeyUp() listener. Den aktiveres kun ved at brugeren klikker på en 'fysisk' knap på telefonen, og ikke fingeren der klikker på skærmen desværre :(



Tænkte det nok, opdagede først bagefter jeg havde postet at du allerede havde forsøgt dig med onKeyUp() :(



Prøv at lav en knap, der har en gennemsigtig baggrund, og sæt denne til at være samme størrelse, som din skærm. Denne knap kan du så tilknytte din onClickListener til :)



Prøv at lav en knap, der har en gennemsigtig baggrund, og sæt denne til at være samme størrelse, som din skærm. Denne knap kan du så tilknytte din onClickListener til :)
Mhh... Det må jeg lige prøve, selvom det lyder lidt 'akavet' :P



Eller add en handler for dit yderste layout der håndterer onTouchEvent

Edit: Eller onClick, det burde også kunne lade sig gøre



Indlæg senest redigeret d. 20.03.2012 10:41 af Bruger #16797
Muligvis, men det virker ;) ... jeg har selv benyttet mig af samme metode, til at lave et mølle spil på android :). (Dog har jeg flere knapper end en enkelt på hele skærmen :P )



Muligvis, men det virker ;) ... jeg har selv benyttet mig af samme metode, til at lave et mølle spil på android :). (Dog har jeg flere knapper end en enkelt på hele skærmen :P )
Er det muligt at du kan poste dit eksempel hvor du gør dette (gerne både din activity og din layout fil) :P
Eller add en handler for dit yderste layout der håndterer onTouchEvent

Edit: Eller onClick, det burde også kunne lade sig gøre
Er ikke sikker på hvordan det skal gøres, da min layout fil ser således ud
Fold kodeboks ind/udXML kode 

Ved ikke om det er rigtigt lavet, men fulgte en guide der fortalte mig at dette var den nemmeste måde at lave et ListView på :)



Indlæg senest redigeret d. 20.03.2012 11:01 af Bruger #4487
<< < 12 > >>
t