2017-05-22 39 views
0

所以我在我的主要活动中有一个列表视图,其中包含一个切换按钮 我想初始化并使用切换按钮 我知道的是我应该在我的getView中初始化它。 。不,我的onCreate自列表视图 但无论我将它设置在的onCreate或getView我得到一个空指针异常指着我行toggle.setOnCheckedChangeListener(新CompoundButton.OnCheckedChangeListener(){..我在做什么错listview切换按钮单击以停止不同类的alarmManager

@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; 
} 

任何帮助将不胜感激

回答

0

您的切换按钮包含在每行的列表视图中吗?如果不是使用此

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

使用本

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

哇...我怎么让这种滑..这多亏你@ msh.nayan – spyder3anz