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

setOnTouchListener

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


Antwort

 

Themen-Optionen Ansicht
Alt 18.01.2012, 09:14   #1 (permalink)
Android-Hilfe.de Mitglied

Registriert seit: 30.10.2011
Beiträge: 51
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
Standard setOnTouchListener

Ich wieder^^
ich brauch mal eine Starthilfe ich komm irgendwie nicht drauf

habe 16 buttons.. die dann einzelt auf ontouch regieren

für einen hab ich nun
Code:
public boolean onTouch(View v, MotionEvent event) {
		int merker =1;
		byte[] buf = null;
		adress = (EditText) this.findViewById(R.id.IP);  
	    ip = adress.getText().toString(); 	//edittbox in string
	        		    
	    if(merker==1){
	    try {
        	InetAddress serverAddr = InetAddress.getByName(ip); //die IP vom editttext wird in einer Internetadresse umgewandelt 
			DatagramSocket socket = new DatagramSocket();
			
				if(event.getAction()==MotionEvent.ACTION_DOWN)
					{
					buf = (K1).getBytes();
					btn1.setChecked(true);
					}
				if(event.getAction()==MotionEvent.ACTION_UP)
					{
					buf = (K1).getBytes();
					}
				
				DatagramPacket packet = new DatagramPacket(buf, buf.length,	serverAddr, Port);
				socket.send(packet);
				
			} 
	    catch (Exception e) 
	    {
				AlertDialog.Builder alert = new AlertDialog.Builder(this);//alert ausgeben show nicht vergessen;)
	    		alert.setTitle("Fehler");// überschrift des buttons
	    		alert.setMessage("Verbindungsfehler");//Text des Buttons
	    		alert.setPositiveButton("OK", null);//Position des OK Buttons
	    		alert.show();//zeigt alert an
			}     	
			}
			
		merker = 0;
		return false;
	}
        
	}
aber wie mach ich das nun für 16?


und noch eine frage

Code:
 public void onCreate(Bundle icicle) {
        super.onCreate(icicle);	
        setContentView(R.layout.main);
        
        btn1 = (ToggleButton) findViewById(R.id.S1);	
        btn1.setOnTouchListener(this);
        btn1.setOnTouchListener(this); 
        
        btn2 = (ToggleButton) findViewById(R.id.S2);	
        btn2.setOnClickListener(this);
        btn2.setOnTouchListener(this); 
       
        btn3 = (ToggleButton) findViewById(R.id.S3);	
        btn3.setOnClickListener(this);
        btn3.setOnTouchListener(this);
        
        btn4 = (ToggleButton) findViewById(R.id.S4);	
        btn4.setOnClickListener(this);
        btn4.setOnTouchListener(this); 
        
        btn5 = (ToggleButton) findViewById(R.id.S5);	
        btn5.setOnClickListener(this);
        btn5.setOnTouchListener(this); 
...............

wie kann ich das ganze in eine for schleife fassen?

danke
mitch_HD2 ist offline   Mit Zitat antworten
Alt 18.01.2012, 09:53   #2 (permalink)
Fortgeschrittenes Mitglied

Modell: HTC Sensation

Registriert seit: 31.08.2011
Beiträge: 390
Abgegebene Danke: 25
Erhielt 59 Danke für 57 Beiträge
Standard AW: setOnTouchListener

Ich würde die Buttons nicht ins XML legen sondern gleich dynamisch erzeugen und in ein Array oder eine ArrayListe legen, dann kannst du auch mit einer Schleife durchlaufen.

Außerdem bekommt ein Button (wenn ich mich jetzt nicht ganz irre) einen OnClick-Listener und keinen OnTouch-Listener ;-)
Tom299 ist offline   Mit Zitat antworten
Alt 18.01.2012, 10:04   #3 (permalink)
Android-Hilfe.de Mitglied

Registriert seit: 30.10.2011
Beiträge: 51
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
Standard AW: setOnTouchListener

ja ich weiß...
aber ich benutze den ontouch damit der den befehl solange schickt solange der button gedrückt ist
mitch_HD2 ist offline   Mit Zitat antworten
Alt 18.01.2012, 12:00   #4 (permalink)
Android Guru

Modell: T-Mobile G1, Nexus One, Samsung Galaxy Tab 10.1, Samsung Galaxy Nexus

Registriert seit: 04.05.2009
Beiträge: 1.599
Abgegebene Danke: 128
Erhielt 210 Danke für 193 Beiträge
Standard AW: setOnTouchListener

Code:
private static final int[] myButtonIds = { R.id.button1, R.id.button2, R.id.button3 }

(...)

for(int id : myButtonIds) {
  Button btn = (Button)findViewById(id);

(...)

public boolean onTouch(View v, MotionEvent event) {
   switch(v.getId) {
   case R.id.button1:
      (...)
__________________
Follow/Add/Circle/Whatever me on Google+

Solitaire HD, ein Solitaire optimiert für Honeycomb.
the_alien ist offline   Mit Zitat antworten
Alt 18.01.2012, 12:15   #5 (permalink)
Android-Hilfe.de Mitglied

Registriert seit: 30.10.2011
Beiträge: 51
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
Standard AW: setOnTouchListener

das sieht schon besser aus aber
Code:
Button btn = (Button)findViewById(id);
der muss doch auch btn1, btn2, btn3 usw. haben..
so schreibt der alles in btn
mitch_HD2 ist offline   Mit Zitat antworten
Alt 18.01.2012, 12:45   #6 (permalink)
Android Guru

Modell: T-Mobile G1, Nexus One, Samsung Galaxy Tab 10.1, Samsung Galaxy Nexus

Registriert seit: 04.05.2009
Beiträge: 1.599
Abgegebene Danke: 128
Erhielt 210 Danke für 193 Beiträge
Standard AW: setOnTouchListener

Klar, aber btn ist bei jedem Schleifendurchlauf ein anderer
__________________
Follow/Add/Circle/Whatever me on Google+

Solitaire HD, ein Solitaire optimiert für Honeycomb.
the_alien ist offline   Mit Zitat antworten
Alt 18.01.2012, 13:11   #7 (permalink)
Android-Hilfe.de Mitglied

Registriert seit: 30.10.2011
Beiträge: 51
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
Standard AW: setOnTouchListener

aber woher weißt der onTouch denn dann welchen der benutzen soll?
mitch_HD2 ist offline   Mit Zitat antworten
Alt 18.01.2012, 13:21   #8 (permalink)
Android Guru

Modell: T-Mobile G1, Nexus One, Samsung Galaxy Tab 10.1, Samsung Galaxy Nexus

Registriert seit: 04.05.2009
Beiträge: 1.599
Abgegebene Danke: 128
Erhielt 210 Danke für 193 Beiträge
Standard AW: setOnTouchListener

Öhm was?
__________________
Follow/Add/Circle/Whatever me on Google+

Solitaire HD, ein Solitaire optimiert für Honeycomb.
the_alien ist offline   Mit Zitat antworten
Alt 18.01.2012, 13:24   #9 (permalink)
Android-Hilfe.de Mitglied

Registriert seit: 30.10.2011
Beiträge: 51
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
Standard AW: setOnTouchListener

ich habe doch 16buttons

und der onTouchlistener muss doch jetzt auch wissen welches button gedrückt wird!?
mitch_HD2 ist offline   Mit Zitat antworten
Alt 18.01.2012, 13:25   #10 (permalink)
Fortgeschrittenes Mitglied

Modell: HTC Sensation

Registriert seit: 31.08.2011
Beiträge: 390
Abgegebene Danke: 25
Erhielt 59 Danke für 57 Beiträge
Standard AW: setOnTouchListener

das steht doch oben im switch ...
Tom299 ist offline   Mit Zitat antworten
Antwort

Stichworte
-

Themen-Optionen
Ansicht


Ähnliche Themen

Thema Autor Forum Antworten Letzter Beitrag
setOnTouchListener in eigener Klasse Bobert Android App Entwicklung 0 16.03.2011 13:38
setOnTouchListener krackmoe Android App Entwicklung 3 09.03.2011 14:36




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