Android setOnClickListener仅指向包含许多其他视图的相对布局的一个视图
我有一个由几个自定义视图组成的相对布局,当我单击其中一个视图(如“NavigationSelector”)时,另一个视图(如“AssistanceSelector”)必须修改。我已经为NavigationSelector的对象添加了setOnClickListener事件,但是我注意到,只要我在整个相对布局上单击,就会调用NavigationClickListenerAndroid setOnClickListener仅指向包含许多其他视图的相对布局的一个视图,android,android-layout,Android,Android Layout,我有一个由几个自定义视图组成的相对布局,当我单击其中一个视图(如“NavigationSelector”)时,另一个视图(如“AssistanceSelector”)必须修改。我已经为NavigationSelector的对象添加了setOnClickListener事件,但是我注意到,只要我在整个相对布局上单击,就会调用NavigationClickListener <RelativeLayout android:orientation="vertical" an
<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;
...
}
Activity.java:
导航选择器objNavigationSelector=null;
objNavigationSelector=(NavigationSelector)findViewById(R.id.NavigationSelector);
objNavigationSelector.setOnClickListener(新导航ClickListener(this));
类NavigationClickListener实现OnClickListener
公共void onClick(视图v){
开关(v.getId()){
case R.id.navigationSelector://做必要的事情
打破
...
}
向不希望单击的布局项目添加标签android:clickable=“false”
希望有帮助!我认为这是因为您的两个视图共享同一位置。修复您的布局参数,两者都有
android:layout\u alignParentLeft=“true”
我担心它不起作用。我设置了android:clickable=“false”指向相对布局中的所有其他项,但仍无法识别单击。否,在自定义视图中,我已将一个对象放置在otherNavigationSelector cutomview上方:int canvasHeight=canvas.getHeight();int centreX=10;int NaviSelector Height=NaviSelector.getHeight();int NaviSelector Center=(canvasHeight-NaviSelectorHeight)/2-40;canvas.drawBitmap(NaviSelector,centreX,NaviSelectorCenter,SelectorPaint);AssistanceSelector cutomview:int-centreX=10;int-AssistSelectorHeight=AssistSelector.getHeight();int-AssistSelectorCenter=(canvasHeight-AssistSelectorHeight)/2;canvas.drawBitmap(辅助选择器、centreX、辅助选择器或中心、选择器或绘制);