Listview中的按钮setOnClickListener

时间:2014-03-31 12:56:16

标签: java android

我正在尝试更改实现onClickListener的listview中Button的背景但我收到此错误:

enter image description here

以下是代码:

        convertView = inflater.inflate(R.layout.item_quiz3, null);
                holder.textView1 = (TextView) convertView
                        .findViewById(R.id.textView1);
                holder.textViewSim = (TextView) convertView
                        .findViewById(R.id.Sim);
                holder.textViewNao = (TextView) convertView
                        .findViewById(R.id.Nao);
                holder.btnSim = (ImageButton) convertView
                        .findViewById(R.id.btnSim);
                holder.btnNao = (ImageButton) convertView
                        .findViewById(R.id.btnNao);

                holder.btnNao.setOnClickListener(new OnClickListener() {

                    @Override
                    public void onClick(View v) {
                          v.setBackground(R.drawable.rdb_on);

                    }
                };

                }
  return convertView; }
}

3 个答案:

答案 0 :(得分:2)

输入错误。

使用:

holder.btnNao.setOnClickListener(new View.OnClickListener() {

                @Override
                public void onClick(View v) {
                      v.setBackground(R.drawable.rdb_on);

                }
            };

或删除DialogInterface导入

答案 1 :(得分:0)

Try this one. i think your are missing in close branthesis.')'

      holder.btnNao.setOnClickListener(new ListenerT() (or) OnClickListener()
            (or) new View.OnClickListener(){

                    @Override
                    public void onClick(View v) {
                          v.setBackground(R.drawable.rdb_on);

                    }
                });



private class ListenerT implements OnClickListener {

                 public ListenerT() {
        }

        @Override
        public void onClick(View v) {

        }
    }

答案 2 :(得分:0)

编译时错误表示您正在使用Dialog的onclicklistener,但您的按钮是视图而不是对话框。因此,您需要明确告诉编译器you need View's OnClickListener

holder.btnNao.setOnClickListener(new View.OnClickListener() {
          @Override
                public void onClick(View v) {
  }
}