Android 单击并长单击不在framelayout中工作
我有两个视图的frameLayout。此框架布局位于另一个框架内,并具有相对性 我想添加ImageView单击和长单击侦听器。单击ImageView时,设置ImageButton touchListener 我添加了Android 单击并长单击不在framelayout中工作,android,click,onlongclicklistener,Android,Click,Onlongclicklistener,我有两个视图的frameLayout。此框架布局位于另一个框架内,并具有相对性 我想添加ImageView单击和长单击侦听器。单击ImageView时,设置ImageButton touchListener 我添加了可点击、可聚焦、可长点击和android:genderantfocusability,但它甚至没有进入ImageView监听器的这些部分 请帮帮我 ImageView imageView = (ImageView) findViewById(R.id.view1); Imag
可点击、可聚焦、可长点击和android:genderantfocusability
,但它甚至没有进入ImageView监听器的这些部分
请帮帮我
ImageView imageView = (ImageView) findViewById(R.id.view1);
ImageButton imageButton = (ImageButton) findViewById(R.id.button);
imageView.setOnLongClickListener(new OnLongClickListener() {
@Override
public boolean onLongClick(View view) {
button.touchableButton(true);
return true;
}
});
imageView.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
button.touchableButton(false);
}
});
public void touchableButton(boolean touchable) {
imageButton.setOnTouchListener(touchable ? this : null);
}
我的布局:
<RelativeLayout
android:id="@+id/grandPaRelative"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<FrameLayout
android:id="@+id/dadFrame"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:clipChildren="false"
android:clipToPadding="false">
<FrameLayout
android:id="@+id/momFrame"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:clipChildren="false"
android:clipToPadding="false"
android:descendantFocusability="blocksDescendants">
<ImageButton
android:id="@+id/button"
android:layout_width="48dp"
android:layout_height="48dp"
android:layout_gravity="center"
android:layout_marginTop="5dp"
android:adjustViewBounds="true"
android:background="@drawable/circle_tintable"
android:contentDescription="@null"
android:gravity="center"
android:padding="10dp"
android:src="@drawable/abc" />
<ImageView
android:id="@+id/view1"
android:layout_width="48dp"
android:layout_height="48dp"
android:layout_gravity="center"
android:layout_marginTop="5dp"
android:adjustViewBounds="true"
android:clickable="true"
android:contentDescription="@null"
android:focusable="true"
android:gravity="center"
android:longClickable="true"
android:padding="15dp"
android:visibility="gone"
app:circleColor="@color/topBar" />
</FrameLayout>
<ImageView
android:id="@+id/view2"
android:layout_width="48dp"
android:layout_height="48dp"
android:layout_gravity="center"
android:layout_marginTop="5dp"
android:adjustViewBounds="true"
android:contentDescription="@null"
android:gravity="center"
android:padding="15dp"
android:src="@drawable/view2"
app:circleColor="@color/topBar" />
</FrameLayout>
</RelativeLayout>
我以前听说人们的图像隐藏在框架布局后面,这会阻止imageView点击。我可能会尝试删除android:visibility=“gone”,看看这是否能解决问题。如果没有,此线程可能会有所帮助:Android ImageView的onClickListener无法工作请尝试将true返回false。
ImageView ImageView=(ImageView)findviewbyd(R.id.view1)代码>
ImageButton ImageButton=(ImageButton)findViewById(R.id.button)代码>
imageView.setOnLongClickListener(新的OnLongClickListener(){
啊,是的!你试过把点击监听器放在长点击监听器之前吗?没关系,看起来好像你让view1可点击和长点击,但我看不到你的view2的那些声明。而view2就是你试图设置监听器的那个。嗯,那么我看不到你的代码中有任何错误。看起来像是r某些原因您的ImagView从未注册为clickedI我以前听说人们的图像隐藏在框架布局后面,这会阻止imageView单击。我可能会尝试删除android:visibility=“gone”,看看这是否可以解决问题。否则,此线程可能会有所帮助:[android imageView的onClickListener不工作]()
@Override
public boolean onLongClick(View view) {
button.touchableButton(true);
return false;
}
});`