尝试将onClickListener添加到listView中的项目,我收到错误消息:"The method setOnClickListener(View.OnClickListener) in the type View is not applicable for the arguments (new DialogInterface.OnClickListener(){})"
就行了:
holder.imageView.setOnClickListener(new OnClickListener() {
本文作者提到了以下内容:
In your custom adapter class, you can try this code inside getView() method
[java]holder.imageView.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(context, "Clicked on image", Toast.LENGTH_LONG).show();
}
});[/java]
似乎我可能需要修改我当前的实现 - 我只是不确定如何。
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
LayoutInflater inflater = context.getLayoutInflater();
if (convertView == null) {
convertView = inflater.inflate(R.layout.list_item2, null);
holder = new ViewHolder();
holder.txtSuccess = (TextView) convertView
.findViewById(R.id.success);
holder.txtCmd = (TextView) convertView.findViewById(R.id.cmd);
holder.txtPrice = (TextView) convertView.findViewById(R.id.price);
holder.imageView = (ImageView) convertView
.findViewById(R.id.thumbnail);
convertView.setTag(holder);
holder.imageView.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
Toast.makeText(context, "Clicked on image",
Toast.LENGTH_LONG).show();
}
答案 0 :(得分:4)
import
。检查您是否已导入DialogInterface.OnClickListener
。你仍然可以用这种方式明确强制参数:
holder.imageView.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Toast.makeText(context, "Clicked on image",
Toast.LENGTH_LONG).show();
}
答案 1 :(得分:0)
使用View.OnClickListener
代替OnClickListener
:
holder.imageView.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { Toast.makeText(context, "Clicked on image", Toast.LENGTH_LONG).show(); }
并使用CTL+SHIFT+O
修复所有导入