当前位置:  开发笔记 > 编程语言 > 正文

onclicklistener用于列表中的按钮

如何解决《onclicklistener用于列表中的按钮》经验,为你挑选了0个好方法。

我在android studio中有一个带有自定义列表视图的项目.我的自定义列表视图包含2textbox和一个开关和图像按钮,但我无法找到如何在listadapter类中为它们设置onclicklistener或其他监听器

这是我的listadapter:

public class listadapter extends ArrayAdapter {
    Context context_;
    int resource_;
    ArrayList objects_;
    boolean bool;
    DBAdapter db;

    public listadapter(Context context, int resource, ArrayList objects) {
        super(context, resource, objects);
        context_ = context;
        resource_ = resource;
        objects_ = objects;
    }

    public View getView(int position, View convertView, ViewGroup parent) {
        LayoutInflater inflater = (LayoutInflater) context_.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        View ViewRow = inflater.inflate(R.layout.reminders_list_layout, parent, false);
        TextView nametxt, addresstxt;
        Switch sw;
        ImageView imgview;
        nametxt = (TextView) ViewRow.findViewById(R.id.remindername);
        addresstxt = (TextView) ViewRow.findViewById(R.id.reminderaddress);
        sw = (Switch) ViewRow.findViewById(R.id.remindersw);
        imgview = (ImageView) ViewRow.findViewById(R.id.imageView4);
        nametxt.setText(objects_.get(position).name);
        addresstxt.setText(objects_.get(position).address);
        bool = (objects_.get(position).swbool != 0);
        sw.setChecked(bool);
        imgview.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                View parentRow = (View) v.getParent();
                ListView listView = (ListView) parentRow.getParent();
                final int position = listView.getPositionForView(parentRow);
                Toast.makeText(context_,position+"",Toast.LENGTH_LONG).show();
            }
        });
        return ViewRow;
    }

但是当我测试我的项目并点击imageview时,它会给我强制关闭和logcat中的这个错误

12-27 20:58:50.343 5658-5658/com.amir_p.yadambendaz E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.amir_p.yadambendaz, PID: 5658
java.lang.ClassCastException: android.widget.LinearLayout cannot be cast to android.widget.ListView at com.amir_p.yadambendaz.listadapter$1.onClick(listadapter.java:49)

我能做什么?

推荐阅读
ar_wen2402851455
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有