2011-04-11 129 views
3

如何在觸摸的Adroid中終止活動。在這裏,我顯示了detail.xml中描述的視圖。我需要關閉觸摸式活動。我試了下面的代碼。但它不工作。有任何想法嗎?如果在視圖層次結構的手指下沒有其他的觀點已經消耗的事件完成(關閉)觸摸的Android活動

public class Details extends Activity { 
    protected void onCreate(Bundle savedInstanceState){ 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.details); 
    } 
    public boolean onTouchEvent(MotionEvent event){ 
     this.finish(); 
     return true; 
    }  
} 
+0

你確定onTouchEvent被調用嗎? API文檔提到,如果沒有任何子視圖消費該事件,它將僅作爲最後的手段被調用。 – mmeyer 2011-04-11 18:56:19

+0

我認爲它沒有被調用。你有任何想法如何將「onTouchEvent」添加到即時通訊使用的視圖。因爲這裏我使用它從一個XML。 – dinesh707 2011-04-11 18:58:00

回答

0
  1. 你的onTouchEvent()纔會被調用。這是不常見的,因爲許多視圖確實與觸摸事件相互作用。

  2. 在onTouchEvent()中做東西而不看實際事件是錯誤的。

  3. 通常你應該實現一個視圖,對觸摸做出反應並做適當的事情。

+0

你能檢查這個:http://stackoverflow.com/questions/5628687/problem-in-android-creating-a-view-dynamically – dinesh707 2011-04-11 23:19:59

4

您應該使用

@Override 
public boolean dispatchTouchEvent(MotionEvent ev) { 
    finish(); 
    return super.dispatchTouchEvent(ev); 
} 
-1

你沒在的onCreate安裝監聽器()。像: findViewById(R.id.some_view).setOnTouchListener(this);

+0

他不需要一個。當屏幕本身被觸摸時,他正試圖使其關閉。 – uyuyuy99 2014-10-07 02:03:06