@Override
public View getView(final int position, View convertView, ViewGroup parent) {
final ViewHolder holder;
if(convertView == null){
convertView = mInflater.inflate(R.layout.row_coupon_list, null);
holder = new ViewHolder();
holder.rlcontent = (RelativeLayout) convertView.findViewById(R.id.row_coupon_rl_content);
holder.txtname = (TextView) convertView.findViewById(R.id.row_coupon_tv_name);
holder.txtenddate = (TextView) convertView.findViewById(R.id.row_coupon_tv_enddt);
holder.txtstore = (TextView) convertView.findViewById(R.id.row_coupon_tv_store);
holder.txtdiscount = (TextView) convertView.findViewById(R.id.row_coupon_tv_discount);
holder.txtuse = (TextView) convertView.findViewById(R.id.row_coupon_tv_use);
holder.txtuse.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(mCouponList.get(position).getBarcode() != null) {
Toast.makeText(mContext, "position : " + position, Toast.LENGTH_SHORT).show();
holder.txtbarcode.setVisibility(View.VISIBLE);
holder.rlcontent.setVisibility(View.GONE);
}
}
});
holder.ivimage = (ImageView) convertView.findViewById(R.id.row_coupon_iv_image);
holder.txtbarcode = (TextView) convertView.findViewById(R.id.row_coupon_tv_barcode);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
holder.txtname.setText(mCouponList.get(position).getName());
holder.txtenddate.setText(mCouponList.get(position).getEnd_dt() + "까지");
holder.txtstore.setText(mCouponList.get(position).getStore_summary());
if(mCouponList.get(position).getType() == 1) {
holder.txtdiscount.setText(String.valueOf(mCouponList.get(position).getDiscount()) + "%");
} else if(mCouponList.get(position).getType() == 2) {
holder.txtdiscount.setText("-" + String.valueOf(mCouponList.get(position).getDiscount()) + "원");
}
if(mCouponList.get(position).getStatus() == 1 || mCouponList.get(position).getStatus() == 2) {
if(mCouponList.get(position).getBarcode() != null) {
holder.txtbarcode.setText(mCouponList.get(position).getBarcode().getBarcode());
}
}
return convertView;
}
현재 getView 메소드입니다.
holder.txtuse.setOnClickListener
에서 TextView에 클릭 리스너를 달아서 해당하는 position의 레이아웃을 변경해주는 작업을 해주고 있습니다.
제가 원하는 것은 해당 position은 저렇게 변경을 해주고 다른 position의 레이아웃은 반대로 GONE, VISIBLE 작업을 해주고 싶은데... 클릭 된 다른 position의 레이아웃을 잡을 아이디어가 있을까요...??
layout code)
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_height="match_parent">
<RelativeLayout
android:id="@+id/row_coupon_rl_content"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/row_coupon_tv_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:text="test"/>
<RelativeLayout
android:id="@+id/row_coupon_rl_date_store"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/row_coupon_tv_name">
<TextView
android:id="@+id/row_coupon_tv_enddt"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:text="test"/>
<TextView
android:id="@+id/row_coupon_tv_store"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_toRightOf="@+id/row_coupon_tv_enddt"
android:gravity="center_vertical"
android:text="test"/>
</RelativeLayout>
<TextView
android:id="@+id/row_coupon_tv_temp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/row_coupon_rl_date_store"
android:visibility="gone"
android:text="test"/>
<TextView
android:id="@+id/row_coupon_tv_discount"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/row_coupon_tv_temp"
android:gravity="center_vertical"
android:text="50"/>
<TextView
android:id="@+id/row_coupon_tv_use"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:layout_below="@+id/row_coupon_tv_discount"
android:gravity="center_vertical"
android:background="@drawable/button_blue_outline"
android:text="사용하기"/>
<ImageView
android:id="@+id/row_coupon_iv_image"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/row_coupon_rl_date_store"
android:src="@drawable/ic_home_coupon"
android:background="@android:color/transparent"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"/>
</RelativeLayout>
<TextView
android:id="@+id/row_coupon_tv_barcode"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true"
android:visibility="gone"/>
</RelativeLayout>