为什么首次点击ImageView不起作用?

时间:2015-10-17 07:24:55

标签: android android-imageview onclicklistener

我已阅读其他帖子。我仍然无法找到解决方案。

我尝试了

android:focusableInTouchMode="false"
android:focusable="false"

没有用。 我已经包括了

android:clickable="true"

没有工作。

在Java代码中,我已经包含了

  imgLeft.setOnFocusChangeListener(new View.OnFocusChangeListener() {
        public void onFocusChange(View v, boolean hasFocus) {
            if (!hasFocus) {
                v.performClick();
            }
        }
    });

除了onClickListener()。

但它仍然没有奏效。

这是我粗略的布局结构和图像视图的位置。

  <RelativeLayout>
     <FrameLayout>
        <LinearLayout>
           <Relativelayout>
              <LineatLayout/>
                  <LinearLayout>
                      <LinearLayout>
                          <ImageView    <--- This is the I needed to click.
                            android:id="@+id/imgLeft"
                            android:layout_width="wrap_content"
                            android:layout_height="@dimen/title_img_width"
                            android:src="@drawable/left" 
                            />  
                      </LinearLayout>
                  </LinearLayout>
              </LinearLayout>
           </Relativelayout>
        </LinearLayout>
     </FrameLayout>
  </Relativelayout>

我正在使用setOnClickListener来处理点击事件。

 imgLeft.setOnClickListener(new OnClickListener() {


        @Override
        public void onClick(View v) {
            //some function here    <-- **This function triggers only after the second click**
        }
    });

注意: 我彻底检查了其他stackoverflow帖子。但他们都没有解决问题..上面是否有任何解决方案

更新:原始代码:

 <RelativeLayout xmlns:tools="http://schemas.android.com/tools"
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/rl_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/bg_image" >

<FrameLayout
    android:id="@+id/layoutConfiguration"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <ImageView
        android:id="@+id/imageView1"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:scaleType="fitXY"
        android:src="@drawable/bg_image"
        android:visibility="gone" />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical" >

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="@dimen/menu_header_height" >

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:weightSum="1" >

                <LinearLayout
                    android:id="@+id/ll_menu"
                    android:layout_width="0dp"
                    android:layout_height="match_parent"
                    android:layout_weight=".2"
                    android:gravity="center"
                    android:orientation="vertical" >

                    <ImageView
                        android:layout_width="@dimen/menu_top_icon"
                        android:layout_height="match_parent"
                        android:layout_gravity="center"
                        android:padding="5dp"
                        android:src="@drawable/menu" />
                </LinearLayout>

                <TextView
                    android:layout_width="0dp"
                    android:layout_height="match_parent"
                    android:layout_weight="0.68"
                    android:fontFamily="Oswald-Regular.ttf"
                    android:gravity="center"
                    android:text="Connect Bluetooths"
                    android:textColor="#fff"
                    android:textSize="@dimen/menu_tital_textsize" />

                <!-- android:padding="@dimen/menu_tital_padding" -->

                <TextView
                    android:layout_width="0dp"
                    android:layout_height="match_parent"
                    android:layout_weight=".2"
                    android:gravity="center"
                    android:padding="15dp"
                    android:text=""
                    android:textColor="#fff"
                    android:textSize="25dp"
                    android:textStyle="bold" />
            </LinearLayout>
        </RelativeLayout>

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent" >

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:gravity="center_horizontal"
                android:orientation="vertical" >

                <LinearLayout
                    android:id="@+id/ll_sole"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="@dimen/tital_margin_top"
                    android:gravity="center_horizontal"
                    android:orientation="horizontal"
                    android:weightSum="1" >

                    <LinearLayout
                        android:layout_width="0dp"
                        android:layout_height="wrap_content"
                        android:layout_weight="0.3"
                        android:orientation="vertical" >

                        <TextView
                            android:id="@+id/tv_leftBattery"
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:layout_marginRight="15dp"
                            android:fontFamily="Raleway-Regular.ttf"
                            android:gravity="center"
                            android:text="100%"
                            android:textAppearance="?android:attr/textAppearanceMedium"
                            android:textColor="@android:color/holo_red_dark"
                            android:textSize="16sp"
                            android:visibility="gone" />

                        <ImageView
                            android:id="@+id/imgLeftBluetooth"      
                            android:layout_width="wrap_content"
                            android:layout_height="@dimen/title_img_width"
                            android:src="@drawable/left" />

                        <TextView
                            android:id="@+id/tv_leftBluetooth"
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:layout_marginRight="15dp"
                            android:fontFamily="Raleway-Regular.ttf"
                            android:gravity="center"
                            android:text="Not Connected"
                            android:textAppearance="?android:attr/textAppearanceMedium"
                            android:textColor="@android:color/white"
                            android:textSize="14sp" />
                    </LinearLayout>

                    <LinearLayout
                        android:layout_width="0dp"
                        android:layout_height="wrap_content"
                        android:layout_weight="0.3"
                        android:orientation="vertical" >

                        <TextView
                            android:id="@+id/tv_rightBattery"
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:layout_marginRight="15dp"
                            android:fontFamily="Raleway-Regular.ttf"
                            android:gravity="center"
                            android:text="100%"
                            android:textAppearance="?android:attr/textAppearanceMedium"
                            android:textColor="@android:color/holo_red_dark"
                            android:textSize="16sp"
                            android:visibility="gone" />

                        <ImageView
                            android:id="@+id/imgRightBluetooth"
                            android:layout_width="wrap_content"
                            android:layout_height="@dimen/title_img_width"
                            android:layout_marginTop="5dp"
                            android:src="@drawable/right" />

                        <TextView
                            android:id="@+id/tv_rightBluetooth"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_marginLeft="15dp"
                            android:fontFamily="Raleway-Regular.ttf"
                            android:gravity="center"
                            android:text="Not Connected"
                            android:textAppearance="?android:attr/textAppearanceMedium"
                            android:textColor="@android:color/white"
                            android:textSize="14sp" />
                    </LinearLayout>
                </LinearLayout>

                <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:gravity="center_horizontal"
                    android:orientation="vertical"
                    android:paddingTop="@dimen/menu_tital_padding" >

                    <ToggleButton
                        android:id="@+id/toggleButton_connectBluetooth"
                        android:layout_width="@dimen/title_img_height"
                        android:layout_height="@dimen/title_text_height"
                        android:layout_centerHorizontal="true"
                        android:layout_centerVertical="true"
                        android:background="@drawable/toggle_selector"
                        android:checked="false"
                        android:padding="5dp"
                        android:text=""
                        android:textOff=""
                        android:textOn="" />

                    <TextView
                        android:id="@+id/tv_toggle_btn"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:gravity="center"
                        android:padding="7dp"
                        android:text="Connect Left Bluetooths Only"
                        android:textAppearance="?android:attr/textAppearanceSmall"
                        android:textColor="@android:color/white" />
                </LinearLayout>
            </LinearLayout>

            <FrameLayout
                android:id="@+id/fl_balloon"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_centerVertical="true"
                android:layout_marginLeft="-15dp"
                android:gravity="center"
                android:visibility="gone" >

                <ImageView
                    android:id="@+id/imageView2"
                    android:layout_width="@dimen/balloon_width"
                    android:layout_height="@dimen/balloon_height"
                    android:layout_gravity="center"
                    android:scaleType="fitXY"
                    android:src="@drawable/balloon" />

                <TextView
                    android:id="@+id/textView2"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center"
                    android:layout_marginLeft="7dp"
                    android:fontFamily="Oswald-Regular.ttf"
                    android:gravity="center"
                    android:text="Pair"
                    android:textColor="@android:color/white" />
            </FrameLayout>

            <TextView
                android:id="@+id/textView1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentTop="true"
                android:layout_centerHorizontal="true"
                android:fontFamily="Oswald-Regular.ttf"
                android:text="Configure Bluetooths"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:textSize="@dimen/menu_tital_textsize"
                android:visibility="gone" />

            <Button
                android:id="@+id/btn_next"
                android:layout_width="wrap_content"
                android:layout_height="@dimen/menu_top_icon"
                android:layout_alignParentBottom="true"
                android:layout_centerHorizontal="true"
                android:layout_marginBottom="29dp"
                android:background="@drawable/button_box"
                android:padding="3dp"
                android:text="Continue"
                android:textColor="@android:color/white"
                android:textSize="15dp"
                android:textStyle="bold" />
        </RelativeLayout>
    </LinearLayout>
</FrameLayout>
 </RelativeLayout>

执行的点击的ID是 imgLeftBluetooth和imgRightBluetooth。这两个图像视图仅在第二次点击之后触发。

1 个答案:

答案 0 :(得分:2)

简单。你可以试试这个

只需在 ImageView (XML)

中添加android:onClick="clicking"即可

然后

 public void clicking(View v)
  {

    Toast.makeText(v.getContext(),"Clicking On Image",Toast.LENGTH_LONG).show();
  }

已修改

    YOUR_IMAGE_VIEW_OBJ.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        // Do your Staff

        }
     });
  1. Android ImageView's onClickListener does not work