setOnClickListener只有一个包含许多其他视图的相对布局的视图
我有一个相对的布局组成的几个自定义视图,当我点击其中一个视图说“NavigationSelector”另一个视图说“AssistanceSelector”必须修改。我已经为NavigationSelector的对象添加了setOnClickListener事件,但我发现在任何地方点击了NavigationClickListener所调用的整个相对布局。setOnClickListener只有一个包含许多其他视图的相对布局的视图
<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"
到您不希望被点击的布局项目。
希望它有帮助!
我认为这是因为你的两个观点共享相同的位置。修复你的布局参数,都有android:layout_alignParentLeft="true"
否在自定义视图中,我已将一个对象放在另一个对象的上方 – rosemary 2012-01-03 09:16:16
NavigationSelector cutomview: int canvasHeight = canvas.getHeight(); int centreX = 10; int NaviSelectorHeight = NaviSelector.getHeight(); int NaviSelectorcentreY =(canvasHeight - NaviSelectorHeight)/ 2-40; canvas.drawBitmap(NaviSelector,centreX,NaviSelectorcentreY,SelectorPaint); AssistanceSelect cutomview: int centreX = 10; int AssistSelectorHeight = AssistSelector.getHeight(); int AssistSelectorcentreY =(canvasHeight - AssistSelectorHeight)/ 2; canvas.drawBitmap(AssistSelector,centreX,AssistSelectorcentreY,SelectorPaint); – rosemary 2012-01-03 09:22:17
恐怕它不起作用。我将android:clickable =“false”设置为相对布局中的所有其他项目,但点击仍在被识别。 – rosemary 2012-01-03 09:14:37