1
我正在開發一個項目以測試用戶行爲。這裏是我的XML佈局Android將佈局劃分爲部分併爲其分配計數器
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/RelativeLayout"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<RelativeLayout
android:id="@+id/TouchArea"
android:layout_width="240dp"
android:layout_height="400dp"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:background="#800ff4ff" >
<LinearLayout
android:id="@+id/grid1"
android:layout_width="60dp"
android:layout_height="100dp"
android:background="#000000"
android:orientation="vertical" >
</LinearLayout>
<LinearLayout
android:id="@+id/grid2"
android:layout_width="60dp"
android:layout_height="100dp"
android:layout_alignParentTop="true"
android:layout_toRightOf="@+id/grid1"
android:background="#FFFFFF"
android:orientation="vertical" >
</LinearLayout>
<LinearLayout
android:id="@+id/grid3"
android:layout_width="60dp"
android:layout_height="100dp"
android:layout_alignParentTop="true"
android:layout_toRightOf="@+id/grid2"
android:background="#000000"
android:orientation="vertical" >
</LinearLayout>
<LinearLayout
android:id="@+id/grid4"
android:layout_width="60dp"
android:layout_height="100dp"
android:layout_alignParentTop="true"
android:layout_toRightOf="@+id/grid3"
android:background="#FFFFFF"
android:orientation="vertical" >
</LinearLayout>
<LinearLayout
android:id="@+id/grid5"
android:layout_width="60dp"
android:layout_height="100dp"
android:layout_alignParentLeft="true"
android:layout_below="@+id/grid1"
android:background="#FFFFFF"
android:orientation="vertical" >
</LinearLayout>
<LinearLayout
android:id="@+id/grid6"
android:layout_width="60dp"
android:layout_height="100dp"
android:layout_below="@+id/grid2"
android:layout_toLeftOf="@+id/grid3"
android:background="#000000"
android:orientation="vertical" >
</LinearLayout>
<LinearLayout
android:id="@+id/grid7"
android:layout_width="60dp"
android:layout_height="100dp"
android:layout_alignTop="@+id/grid6"
android:layout_toLeftOf="@+id/grid4"
android:background="#FFFFFF"
android:orientation="vertical" >
</LinearLayout>
<LinearLayout
android:id="@+id/grid8"
android:layout_width="60dp"
android:layout_height="100dp"
android:layout_alignLeft="@+id/grid4"
android:layout_alignTop="@+id/grid7"
android:background="#000000"
android:orientation="vertical" >
</LinearLayout>
<LinearLayout
android:id="@+id/grid9"
android:layout_width="60dp"
android:layout_height="100dp"
android:layout_alignParentLeft="true"
android:layout_alignTop="@+id/grid10"
android:background="#000000"
android:orientation="vertical" >
</LinearLayout>
<LinearLayout
android:id="@+id/grid10"
android:layout_width="60dp"
android:layout_height="100dp"
android:layout_below="@+id/grid6"
android:layout_toLeftOf="@+id/grid7"
android:background="#FFFFFF"
android:orientation="vertical" >
</LinearLayout>
<LinearLayout
android:id="@+id/grid11"
android:layout_width="60dp"
android:layout_height="100dp"
android:layout_alignLeft="@+id/grid7"
android:layout_alignTop="@+id/grid10"
android:background="#000000"
android:orientation="vertical" >
</LinearLayout>
<LinearLayout
android:id="@+id/grid12"
android:layout_width="60dp"
android:layout_height="100dp"
android:layout_alignBottom="@+id/grid11"
android:layout_alignParentRight="true"
android:background="#FFFFFF"
android:orientation="vertical" >
</LinearLayout>
<LinearLayout
android:id="@+id/grid13"
android:layout_width="60dp"
android:layout_height="100dp"
android:layout_alignParentLeft="true"
android:layout_below="@+id/grid9"
android:background="#FFFFFF"
android:orientation="vertical" >
</LinearLayout>
<LinearLayout
android:id="@+id/grid14"
android:layout_width="60dp"
android:layout_height="100dp"
android:layout_alignLeft="@+id/grid10"
android:layout_alignTop="@+id/grid13"
android:background="#000000"
android:orientation="vertical" >
</LinearLayout>
<LinearLayout
android:id="@+id/grid15"
android:layout_width="60dp"
android:layout_height="100dp"
android:layout_alignParentBottom="true"
android:layout_alignRight="@+id/grid11"
android:background="#FFFFFF"
android:orientation="vertical" >
</LinearLayout>
<LinearLayout
android:id="@+id/grid16"
android:layout_width="60dp"
android:layout_height="100dp"
android:layout_alignParentRight="true"
android:layout_below="@+id/grid12"
android:background="#000000"
android:orientation="vertical" >
</LinearLayout>
</RelativeLayout>
這裏是它的樣子,相對佈局內16個girds。
!
我想要做的是爲每個佈局分配計數器,只要ueser的手指穿過這個網格計數器wll加1.然而,當我嘗試添加touchListener並重寫onTouch方法時,它會拋出空指針異常,所以我需要調用dispatchTouchEvent。但在dispatchTouchEvent中,我不確定如何分別獲取每個視圖。希望你能幫到
謝謝,這似乎適用於我。雖然我需要繼續獲取所有事件,直到手指恢復爲止,所以我只需更改爲onTouch,並且只在動作等於關閉時才能獲得ID。 – 2013-04-26 17:16:13
好,我很高興它的工作! – 2013-04-26 18:17:58