안드로이드 개발 질문/답변
(글 수 45,052)
커스텀 리스트 클릭 시 텍스트를 추가하고 싶습니다.
xml에 textview를 추가해서 visibility=gone으로 해 두었다가
클릭이 되면 visible로 바꿔 보이게 하고 있는데요...
클릭이 된 position은 값이 제대로 넘어오나... view가 이상하게 넘어옵니다.
만약에 화면에 보이는 리스트 중 첫번쨰항목을 누르면 다른 리스트 항목도 같은 간격을 두고 텍스트가 추가됩니다.
제 코드에서는 테스트 하려고 ^^*가 추가되도록 해두었습니다.
xml 코드와 이벤트 리스너는 아래에 써두었구요...
어떻게 하면.. 제대로 제가 클릭한 항목에만 텍스트를 추가 할 수 있을까요??
final TextView txt2 = (TextView)convertView.findViewById(R.id.txt_2); convertView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { txt2.setVisibility(View.VISIBLE); txt2.append("^^*");
} });
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <ImageView android:id="@+id/img_app_icon" android:layout_width="45px" android:layout_height="45px" android:paddingTop="2px" android:paddingBottom="2px" android:layout_centerVertical="true" android:layout_alignParentLeft="true" /> <LinearLayout android:id="@+id/je" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical" android:layout_centerVertical="true" android:layout_toRightOf="@id/img_app_icon" > <TextView android:id="@+id/txt_app_name" android:singleLine="true" android:textSize="20px" android:paddingLeft="10px" android:layout_centerVertical="true" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <TextView android:id="@+id/txt_2" android:singleLine="true" android:textSize="15px" android:paddingLeft="10px" android:visibility="gone" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout> <Button android:id="@+id/btn_app_delete" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/ic_menu_delete" android:layout_alignParentRight="true" /> </RelativeLayout>