列表视图切换按钮单击以停止不同 class 的 alarmManager

listview toggle button click to stop alarmManager of different class

所以我的主 activity 中有一个包含切换按钮的列表视图 我想初始化并使用切换按钮 我所知道的是我应该在我的 getView 中初始化它,而不是在我的 onCreate 中,因为它在列表视图中 但是无论我是在 onCreate 还是 getView 中设置它,我都会得到一个空指针异常指向我的行 toggle.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {.. 我做错了什么

 @Override
    public View getView(int position, View convertView, ViewGroup parent) {

        View row = convertView;
        ViewHolder holder = null;
        if(row==null || row.getTag()==null){
            LayoutInflater inflater = LayoutInflater.from(activity);
            row = inflater.inflate(layoutResource,null);
            holder=new ViewHolder();

            holder.mTitle=(TextView)row.findViewById(R.id.name);
            holder.mDate=(TextView)row.findViewById(R.id.dateText);
            holder.mTime=(TextView)row.findViewById(R.id.timeText);

            row.setTag(holder);
        }else{
            holder = (ViewHolder)row.getTag();
        }



        holder.myAlarm = getItem(position);
        holder.mTitle.setText(holder.myAlarm.getTitle());
        holder.mDate.setText(holder.myAlarm.getMonth()+" "+holder.myAlarm.getDay()+", "+holder.myAlarm.getYear());

        ToggleButton toggle = (ToggleButton) findViewById(R.id.toggleButton);
        toggle.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                if (isChecked) {
                    Toast.makeText(MainActivity.this, "IT IS CHECKED", Toast.LENGTH_SHORT).show();
                } else {
                    Toast.makeText(MainActivity.this, "IT IS NOT CHECKED", Toast.LENGTH_SHORT).show();
                }
            }
        });

 return row;
 }

任何帮助将不胜感激

您的切换按钮是否包含在列表视图的每一行中?如果不是使用这个

ToggleButton toggle = (ToggleButton) findViewById(R.id.toggleButton);

使用这个

holder.toggle = (ToggleButton) row.findViewById(R.id.toggleButton);