在android listview中获取选中项数组中的标记值

在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[

这是我的ContactsAdapter类,我在其中显示带有复选框的列表。在这里我可以得到检查项目的标签。还有另一个类FanFragment,在其中单击按钮(ContactList)时,我必须获得选中项数组中标记的所有值

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

希望这能有所帮助。

那个学生家长是什么