onTouchEven Problem

M

MazzMan

Neues Mitglied
0
Hallo,
da ich lernen will, wie man Apps für Android schreibet, hab ich mich mal etwas ganz kleines gemacht.
Ich habe ein Knopf gemacht, der den Text aus einem Edit-Feld raus nimmt und dann unten wieder ausblendet. Das kalppt ohne Problem. Nun habe ich ein zweites Event eingefügt, dass einen Text ausgeben soll, wenn man einfach den Bildschirm berührt, jedoch passiert nichts.
Code:
package com.example.helloandroid;

import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import android.view.MotionEvent;

public class HelloAndroid extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        //knopf an einen event handler machen
        Button btn1 = (Button)findViewById(R.id.btnClickMe);
        btn1.setOnClickListener(btnListener);
        
    }
    
    private OnClickListener btnListener = new OnClickListener()
    {
        public void onClick(View v)
        {
            EditText et = (EditText)findViewById(R.id.editText1);
            String text = et.getText().toString(); 
            Toast.makeText(getBaseContext(),
                    text,
                    Toast.LENGTH_LONG).show();
        }
    };
    
    public boolean onTouchEven(MotionEvent event)
    {
        int action = event.getAction();
        if(action == MotionEvent.ACTION_DOWN)
        {
            Toast.makeText(getBaseContext(),
                    "Du hast den Bildschirm berührt!",
                    Toast.LENGTH_LONG).show();
        }
        
        return true;
    }
}
Ich weiß nicht, an was das liegt. Ich bitte um Hilfe.

MfG
MazzMan
 
Code:
btn1.setOnTouchListener(xxx);
hinzufügen ;)
 
Noch etwas genauer:
Code:
        btn1.setOnTouchListener(TListener);         

        private OnTouchListener TListener = new OnTouchListener() {
            
            public boolean onTouch(View v, MotionEvent event) {
                // TODO Auto-generated method stub
                return false;
            }
        };
Also du must das gleiche machen wie bei deinem Clicklistener
 
Danke für die Antworten :)
Aber was muss ich machen, wenn ich einfach nur den Bildschirm berühren möchte, egal wo?
 
Ich weiß es auch nicht genau, deswegen rate ich mal.
Dein Button liegt warscheinlich in einem LinearLayout o.ä. also rufst du setOnTouchListener von dem LinearLayout auf. Die Vorgehensweise ist wie bei deinem Button. Dem LinearLayout kannst du die Beite und Höhe "fill_parent" geben, damit der gesamte Bildschirm damit ausgefüllt ist.
 

Ähnliche Themen

W
  • WuDiDong
Antworten
3
Aufrufe
765
jogimuc
J
S
Antworten
4
Aufrufe
990
Sempervivum
S
R
Antworten
3
Aufrufe
1.614
Ritartet
R
Zurück
Oben Unten