-1
这是我的getView()代码。我想访问这个自定义列表视图中的特定开关。我究竟做错了什么 ?如何在自定义列表视图中获取特定开关的ID并进行检查
public View getView(final int position, View convertView, ViewGroup parent) {
if(convertView==null)
{
//inflate the custom layout
convertView = inflater.from(parent.getContext()).inflate(R.layout.list_item,parent,false);
viewHolder=new ViewHolder();
//cache the views
viewHolder.sw=(Switch) convertView.findViewById(R.id.switch1);
viewHolder.name=(TextView) convertView.findViewById(R.id.name);
viewHolder.rollno=(TextView) convertView.findViewById(R.id.roll);
viewHolder.id=(TextView) convertView.findViewById(R.id.ID);
//link the cached views to the convertview
convertView.setTag(viewHolder);
}
else
viewHolder=(ViewHolder) convertView.getTag();
//set the data to be displayed
viewHolder.name.setText(studentList.get(position).get("name").toString());
viewHolder.rollno.setText(studentList.get(position).get("roll_no").toString());
viewHolder.id.setText(studentList.get(position).get("id").toString());
viewHolder.sw.setText("");
for (int s : absentMarked) {
Log.d("marked",Integer.toString(s));
if(s==1){
Log.d("Entered","Yes");
viewHolder.sw=(Switch) convertView.findViewById(R.id.switch1);
viewHolder.sw.setChecked(true);
}
}
这是存在问题的地方。这将检查所有开关是否为真。我想访问我的列表视图中的特定交换机并检查它。 absentMarked是包含0和1。我要检查对应值1
for (int s : absentMarked) {
Log.d("marked",Integer.toString(s));
if(s==1){
Log.d("Entered","Yes");
viewHolder.sw=(Switch) convertView.findViewById(R.id.switch1);
viewHolder.sw.setChecked(true);
}
}
这到底是怎么absentMarked? –
哪个交换机要访问? –
viewHolder.sw是拨动开关我要访问.. –