PDA

View Full Version : محدود کردن تیک زدن checkBox های درون ListView



ali_khodayar
یک شنبه 12 بهمن 1393, 08:27 صبح
من یک ListView دارم که از نوع چک باکس هست. میخوام کاری کنم که کاربر محدود بشه و بیشتر از 5 انتخاب نتونه داشته باشه.
توی رویداد onItemClick هر کدی که نوشتم بازهم نشد.


@Override public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {


SparseBooleanArray checked = listview.getCheckedItemPositions();


if(listview.getCheckedItemCount()>5){
Toast.makeText(getApplicationContext(), "It's bigger than 5", Toast.LENGTH_SHORT).show();
return;
}
}


}
});
راه حل چیست؟؟؟؟؟؟؟؟؟؟؟

gilas1368
یک شنبه 12 بهمن 1393, 09:25 صبح
این کارتو راه میندازه:

holder.checkBox.setOnCheckedChangeListener(new OnCheckedChangeListener()
{


@Override
public void onCheckedChanged(CompoundButton checkboxView, boolean isChecked)
{
myContacts c = (myContacts) checkboxView.getTag();


if(isChecked)
{
globalInc++;
}
else if(!isChecked)
{
globalInc--;
}
if(globalInc >= 4)// it will allow 3 checkboxes only
{
Toast.makeText(context, "Error = " + globalInc, Toast.LENGTH_LONG).show();
checkboxView.setChecked(false);
globalInc--;
}
else
{
c.setSelected(isChecked);
}
System.out.println(" --------------- "+globalInc);
}
});

For more information: please refer to this (http://stackoverflow.com/questions/6149379/how-to-limit-checkbox-selection-in-listview)

ali_khodayar
یک شنبه 12 بهمن 1393, 09:52 صبح
فکر کنم یه مشکلی باشه. من listView رو به این صورت ساختم.

final ListView listview= getListView();

توی این نوع دیگه نمیتونم از ()listView.checkbox.setOnCheckedChangeListene استفاده کنم.
میشه؟؟؟؟؟