0

我有觸摸該片段時,是具有多個片段設置OnTouchListener的片段

因爲我需要執行一些操作中的每個片段的應用

我有一個繪製一個位圖給我一個片段,我想這片段時觸摸全屏 該片段有一個圖像視圖,將其設置爲位圖 我試圖在視圖的片段內設置OnTouchListener,但我不希望這樣,因爲每次用戶按下屏幕時,它都會啓動活動,即使它已經全屏 如何在我的主要活動中添加OnTouchListener對於片段

這裏是我的代碼

主要活動我這樣做是在DrawBitmap

public class MainActivity extends Activity { 
        DrawBitmap drawView;   
        drawView = (DrawBitmap) getFragmentManager().findFragmentById(R.id.drawid); 

        } 

類,這是我的片段

public class DrawBitmap extends Fragment { 

    @Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 

    View v = inflater.inflate(R.layout.imgid, container, true); 

    v.setOnTouchListener(new View.OnTouchListener() { 

     @Override 
      public boolean onTouch(View v, MotionEvent event) { 
      int action = event.getAction(); 
       switch(action){ 
        case MotionEvent.ACTION_DOWN: 

         Intent intent = new Intent(getActivity(), SecondActivity.class); 
         startActivity(intent); 
           break; 

       } 

       return false; 
      } 

    }); 
    return v; 


} 

    } 

SecondA ctivity

   public class SecondActivity extends Activity { 
        DrawBitmap drawView;   
        drawView = (DrawBitmap) getFragmentManager().findFragmentById(R.id.drawid_full); 

        } 

我希望能夠在主要活動

回答

0

添加OnTouchListenerdrawView片段是不是一個視圖,你不能直接將其添加這種聽衆。

一個解決方案是重寫「按鍵」風格的方法鉤子並拋出自己的事件。不幸的是,片段也沒有這個鉤子。

因此,應該完美工作的最後一個選項應該是在方法getView()(即片段的根視圖)中片段返回的視圖上添加偵聽器。然後,您將不得不在樹視圖層次結構中處理一些事件消耗,但它應該起作用。