0
항목을 선택하면 선택한 텍스트 색을 변경하고 싶습니다.ListView에서 선택한 텍스트를 변경하는 방법 CheckBox
<?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" >
<TextView
android:id="@+id/txtRow"
android:text ="TEST"
android:layout_alignParentLeft="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
<CheckBox
android:id="@+id/ckbBox"
android:layout_alignParentRight="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
</RelativeLayout>
그리고 내 어댑터 :
public class ListViewAdapter : BaseAdapter,IOnCheckedChangeListener
{
List<string> lstData = new List<string>();
Activity activity;
LayoutInflater inflater;
View itemView;
public ListViewAdapter(Activity activity,List<string> lstData)
{
this.activity = activity;
this.lstData = lstData;
}
public override int Count
{
get
{
return lstData.Count;
}
}
public override Java.Lang.Object GetItem(int position)
{
return position;
}
public override long GetItemId(int position)
{
return position;
}
public override View GetView(int position, View convertView, ViewGroup parent)
{
inflater = (LayoutInflater)activity.ApplicationContext.GetSystemService(Context.LayoutInflaterService);
itemView = inflater.Inflate(Resource.Layout.item, null);
TextView txtRow = itemView.FindViewById<TextView>(Resource.Id.txtRow);
CheckBox ckbRow = itemView.FindViewById<CheckBox>(Resource.Id.ckbBox);
ckbRow.SetOnCheckedChangeListener(this);
if (ckbRow.Checked)
txtRow.Text = "HEHEHE";
return itemView;
}
public void OnCheckedChanged(CompoundButton buttonView, bool isChecked)
{
if (isChecked)
{
var txtRow = itemView.FindViewById<TextView>(Resource.Id.txtRow);
txtRow.SetTextColor(Android.Graphics.Color.White);
}
}
}
하지만 검사 때이 TextView
하고 여기에
CheckBox
와 사용자 정의 항목에 사용자 정의 어댑터를했습니다 내 item.xml입니다 CheckBox
에 TextView가 예상대로 색을 변경하지 않습니다.
처럼 편집을 시도 감사합니다하지만 당신은 클릭하면 내가 – EddyLee
을 클릭하면 내가 실시간을 변경하고 싶습니다. getView 메서드에서 중단 점 설정을 시도하면 clik 체크 상자 이후에 어떤 일이 발생하는지 볼 수 있습니다. –