私はいくつかのカスタムビューからなる相対レイアウトを持っています。ビューの1つをクリックすると "NavigationSelector"と言う別のビュー "AssistanceSelector"を修正する必要があります。 NavigationSelectorのオブジェクトに対してsetOnClickListenerイベントを追加しましたが、NavigationClickListenerが呼び出された相対レイアウト全体をクリックするとどこでもそれが観測されています。setOnClickListenerは他の多くのビューを含む相対レイアウトの1つのビューのみにします
<RelativeLayout
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
>
<com.dashboard.customviews.NavigationSelector
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:id="@+id/navigationSelector">
</com.dashboard.customviews.NavigationSelector>
<com.dashboard.customviews.AssistanceSelector
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:id="@+id/assistanceSelector">
</com.dashboard.customviews.AssistanceSelector>
Activity.java:
NavigationSelector objNavigationSelector=null;
objNavigationSelector=(NavigationSelector)findViewById(R.id.navigationSelector);
objNavigationSelector.setOnClickListener(new NavigationClickListener(this));
class NavigationClickListener implements OnClickListener
public void onClick(View v) {
switch (v.getId()) {
case R.id.navigationSelector: //do required stuff
break;
...
}
恐らくうまくいきません。私はandroid:clickable = "false"を相対レイアウト内の他のすべての項目に設定しましたが、それでもクリックは再認識されています。 – rosemary