所以我在主活动中有一个包含切换按钮的列表视图 我想初始化并使用切换按钮 我知道的是,我应该在我的onView中的getView ...中初始化它,因为它在listview中 但是我是否在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;
}
任何帮助都将非常感激
答案 0 :(得分:0)
您的切换按钮是否包含在listview的每一行?如果那不是使用这个
ToggleButton toggle = (ToggleButton) findViewById(R.id.toggleButton);
使用此
holder.toggle = (ToggleButton) row.findViewById(R.id.toggleButton);