在android listview中获取选中项数组中的标记值
这是我的ContactsAdapter类,我在其中显示带有复选框的列表。在这里我可以得到检查项目的标签。还有另一个类FanFragment,在其中单击按钮(ContactList)时,我必须获得选中项数组中标记的所有值在android listview中获取选中项数组中的标记值,android,android-listview,android-checkbox,android-viewholder,Android,Android Listview,Android Checkbox,Android Viewholder,这是我的ContactsAdapter类,我在其中显示带有复选框的列表。在这里我可以得到检查项目的标签。还有另一个类FanFragment,在其中单击按钮(ContactList)时,我必须获得选中项数组中标记的所有值 public class ContactsAdapter extends AbsAdapter { TextView contactId = null; TextView contactDesc = null; static boolean checked[]; String[
public class ContactsAdapter extends AbsAdapter {
TextView contactId = null;
TextView contactDesc = null;
static boolean checked[];
String[] arrPath;
int selectedCount;
CheckBox saveddesc;
public ContactsAdapter(Activity activity, ArrayList<RantModel> contenList) {
super(activity, contenList);
}
@Override
public View getView(int position, View convertview, ViewGroup parent) {
// TODO Auto-generated method stub
super.getView(position, convertview, parent);
final ViewHolder holder;
LayoutInflater inflater = (LayoutInflater) mActivity
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
if(convertview == null){
holder = new ViewHolder();
convertview = inflater.inflate(R.layout.contacts_row_layout, parent,
false);
try {
holder.contactId = (TextView) convertview.findViewById(R.id.tvListId);
holder.contactDesc = (TextView) convertview.findViewById(R.id.tvListName);
holder.saveddesc = (CheckBox) convertview.findViewById(R.id.ckList);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
convertview.setTag(holder);
} else {
holder = (ViewHolder) convertview.getTag();
}
holder.saveddesc.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if(((CompoundButton) v).isChecked()){
String ale = (String) holder.saveddesc.getTag();
System.out.println(ale);
}
}
});
RantModel ContactModel = mListContent.get(position);
holder.contactDesc.setText(ContactModel.contactName);
holder.contactId.setText(ContactModel.contactId);
holder.saveddesc.setId(position);
holder.saveddesc.setTag(ContactModel.contactId);
holder.id = position;
return convertview;
}
class ViewHolder{
public int id;
public CheckBox saveddesc;
public TextView contactDesc;
public TextView contactId;
}
公共类ContactsAdapter扩展了AbsAdapter{
TextView contactId=null;
TextView contactDesc=null;
静态布尔检查[];
字符串[]路径;
int-selectedCount;
复选框saveddesc;
公共联系人适配器(活动活动,ArrayList内容列表){
超级(活动、内容列表);
}
@凌驾
公共视图getView(int位置、视图转换视图、视图组父视图){
//TODO自动生成的方法存根
super.getView(position、convertview、parent);
最终持票人;
LayoutInflater充气机=(LayoutInflater)mActivity
.getSystemService(上下文布局\充气机\服务);
if(convertview==null){
holder=新的ViewHolder();
convertview=充气机。充气(右布局。触点\u行\u布局,父级,
假);
试一试{
holder.contactId=(TextView)convertview.findViewById(R.id.tvListId);
holder.contactDesc=(TextView)convertview.findViewById(R.id.tvListName);
holder.saveddesc=(复选框)convertview.findViewById(R.id.ckList);
}捕获(例外e){
//TODO自动生成的捕捉块
e、 printStackTrace();
}
convertview.setTag(支架);
}否则{
holder=(ViewHolder)convertview.getTag();
}
holder.saveddesc.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
//TODO自动生成的方法存根
如果(((复合按钮)v).isChecked()){
字符串ale=(字符串)holder.saveddesc.getTag();
系统输出打印LN(ale);
}
}
});
RantModel ContactModel=mListContent.get(位置);
holder.contactDesc.setText(ContactModel.contactName);
holder.contactId.setText(ContactModel.contactId);
持有者.saveddesc.setId(位置);
holder.saveddesc.setTag(ContactModel.contactId);
holder.id=位置;
返回视图;
}
类视图持有者{
公共int id;
公共数据交换系统;
公共文本视图contactDesc;
公共文本视图联系人ID;
}
FanFragment.class
public class FanFragment extends AbsFragment {
ContactsAdapter mFanContacts;
ArrayList<RantModel> mContactList;
String url;
ContactListService contactsWeb;
private ProgressDialog mProgressDialog = null;
private boolean checked[];
@Override
public void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
mContactList = new ArrayList<RantModel>();
mProgressDialog = new ProgressDialog(getActivity());
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// TODO Auto-generated method stub
return super.onCreateView(inflater, container, savedInstanceState);
}
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onViewCreated(view, savedInstanceState);
mContactList.removeAll(mContactList);
listView.setAdapter(null);
url = "";
contactsWeb = new ContactListService();
contactsWeb.execute();
mFanthemContacts = new ContactsAdapter(mActivity, mContactList);
listView.setAdapter(mFanthemContacts);
//
ContactList.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
}
});
}
公共类FanFragment扩展了AbsFragment{
触点适配器mFanContacts;
ArrayList mContactList;
字符串url;
ContactListService contactsWeb;
private ProgressDialog mProgressDialog=null;
私有布尔检查[];
@凌驾
创建时的公共void(Bundle savedInstanceState){
//TODO自动生成的方法存根
super.onCreate(savedInstanceState);
mContactList=newarraylist();
mProgressDialog=newprogressdialog(getActivity());
}
@凌驾
创建视图上的公共视图(布局、充气机、视图组容器、,
Bundle savedInstanceState){
//TODO自动生成的方法存根
返回super.onCreateView(充气机、容器、savedInstanceState);
}
@凌驾
已创建视图上的公共void(视图,捆绑保存状态){
//TODO自动生成的方法存根
super.onViewCreated(视图,savedInstanceState);
mContactList.removeAll(mContactList);
setAdapter(空);
url=“”;
contactsWeb=新的ContactListService();
contactsWeb.execute();
mFanthemContacts=新联系人适配器(mActivity,mContactList);
setAdapter(mFanthemContacts);
//
ContactList.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
//TODO自动生成的方法存根
}
});
}
你可以这样做。为我工作。在片段中,单击按钮或任何触发器都可以这样做
for (int i = 0; i < mContactList.getCount(); i++) {
View v = listView.getAdapter().getView(i, null, null);
Viewholder holder = (ViewHolder) v.getTag();
//Check condition for checkbox and insert into new array
}
for(int i=0;i
希望这能有所帮助。那个学生家长是什么