2013-11-27 183 views
0

我不能找到解決辦法...... 我想運行firstfunc()如果屏幕不觸及
我有firstfunc()我不想跑,如果屏幕被觸摸功能屏幕被觸摸

它需要布爾函數返回true或false來確定屏幕是否被觸摸。 我試圖和myView.setOnTouchListener(

public boolean onTouchEvent(MotionEvent event) { 
      // TODO Auto-generated method stub 
      return super.onTouchEvent(event); 
      } 

但它不是要我要...

+0

你想要什麼到底是什麼?只有在觸摸屏幕時纔會調用「onTouchEvent」,否則屏幕不會被觸摸! – user2652394

+0

我想先運行func()如果屏幕沒有被觸及 – NickUnuchek

+1

基本上你不能,你怎麼知道什麼時候沒有觸摸屏幕,屏幕只是一個工具來接收來自用戶的信號TOUCH,如果用戶不觸碰它根本沒有信號,所以屏幕基本上一直沒有被觸摸。我很抱歉,但你不能那樣做。乾杯! – user2652394

回答

0

試試這個:

public class MyActivity extends Activity implements OnTouchListener 
{ 

@Override 
public void onCreate(Bundle savedInstanceState) 
{ 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.layout); 

    //the whole screen becomes sensitive to touch 
    mLinearLayoutMain = (LinearLayout) findViewById(R.id.layout_main); 
    mLinearLayoutMain.setOnTouchListener(this); 
} 

public boolean onTouch(View v, MotionEvent event) 
{ 
    // put your code in here 

    return false;//false indicates the event is not handled 
} 

}

在layout.xml

<?xml version="1.0" encoding="utf-8"?> 

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:id="@+id/layout_main"> 
    <!-- your other views go here--> 

</LinearLayout> 
+0

我有 FUNC(){ } 我不想跑,如果屏幕被觸摸 – NickUnuchek

0
  1. 執行OnTouchListener其中設置了一個標誌。
  2. 將#1的事件設置爲應檢測觸摸的視圖。

class MyActivity extends Activity implements OnTouchListener

View senceTouch; 

    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     senceTouch = findViewById(R.id.view_id); 
     senceTouch.setOnTouchListener(this) 

    } 

     @Override 
     public boolean onTouch(View v, MotionEvent event) { 
     // set flag here 
     return true; 
     } 
} 
+0

如果我觸摸屏標誌=真; 如果我不觸屏如何設置flag = false? – NickUnuchek

+0

在類級別聲明布爾型標誌,默認情況下其值爲false。標誌的錯誤值將指示屏幕未被觸摸。 – MAkS