2017-05-01 12 views
-1

私はimageview上でonclickイベントを検出し、カーソルから行を取得する位置を取得する必要があり、私はどのようにわからない。 https://github.com/Odoo-mobile/frameworkをショッピングカートアプリに変更しようとしています。imageviewでlistviewの位置を取得するにはどうすればいいですか?

私はクリックイベントを検出する必要があるレイアウトビューのコードは次のとおりです。

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:layout_width="match_parent" 
    android:orientation="horizontal" 
    android:layout_height="match_parent"> 


    <RelativeLayout 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:background="#fff" 
     android:orientation="horizontal" 
     android:padding="10dp" > 

     <!-- ListRow Left sied Thumbnail image --> 

     <LinearLayout 
      android:id="@+id/thumbnail" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_alignParentLeft="true" 
      android:layout_marginRight="7dip" 
      android:padding="2dip" > 

      <odoo.controls.BezelImageView 
       android:id="@+id/image_small" 
       android:layout_width="40dp" 
       android:layout_margin="@dimen/default_8dp" 
       app:maskDrawable="@drawable/circle_mask" 
       android:layout_height="40dp" /> 
     </LinearLayout> 

     <TextView 
      android:id="@+id/name" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_alignParentTop="true" 
      android:layout_toRightOf="@+id/thumbnail" 
      android:textAppearance="?android:textAppearanceMedium" 
      android:textColor="@color/body_text_1"/> 

      <LinearLayout 
       android:id="@+id/cart_plus_minus_layout" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:layout_alignParentRight="true" 
       android:layout_below="@+id/name" 
       android:orientation="horizontal" > 

       <TextView 
        android:id="@+id/list_price" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_gravity="center_horizontal|center_vertical" 
        android:layout_marginLeft="60dip" 
        android:layout_weight="0.23" 
        android:paddingRight="5dip" 
        android:textAppearance="?android:textAppearanceMedium" 
        android:textColor="@color/android_red" /> 

       <ImageView 
        android:id="@+id/cart_minus_img" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:src="@drawable/ic_action_minuscircle" /> 

       <TextView 
        android:id="@+id/cart_product_quantity" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_gravity="center_vertical|center_horizontal" 
        android:paddingLeft="15dip" 
        android:paddingRight="15dip" 
        android:text="0" 
        android:textSize="18dip" 
        android:textStyle="bold" /> 

       <ImageView 
        android:id="@+id/cart_plus_img" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:src="@drawable/ic_action_addcircle" /> 
      </LinearLayout> 
     </RelativeLayout> 
</LinearLayout> 

画像は、私はクリックを検出する必要がある:@ + ID/cart_plus_img @ + ID/cart_minus_img

行がイベントをキャプチャする機能があるクリック時:

@Override 
public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 
    ODataRow row = OCursorUtils.toDatarow((Cursor) mAdapter.getItem(position)); 
    //AddToCart(row); 
    loadActivity(row); 
} 

私は、ユーザーが行が、ときにクリックしたときにloadActivity(行)を呼び出すことです必要なものをクリックし@ + ID/cart_plus_img @ + ID /別の関数を呼び出しますが、行パラメータ

ですべてのヘルプはthanksfull

答えて

1

が表示

 ImageView imgMinus = (ImageView)view.findViewById(R.id.cart_minus_img); 
     ImageView imgPlus = (ImageView)view.findViewById(R.id.cart_plus_img); 

     imgMinus.setTag(position); 
     imgPlus.setTag(position); 

     imgMinus.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       Integer position = (Integer) v.getTag(); 
       ... 
      } 
     }); 

     imgPlus.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       Integer position = (Integer) v.getTag(); 
       ... 
      } 
     }); 
のTagプロパティを使用しているcart_minus_img
関連する問題